Submission #17226597
Source Code Expand
#include <bits/stdc++.h>
using namespace std;
int main()
{
int N;
int M;
cin >> N >> M;
vector<int> P_vec(N + 1, 0);
for (int i = 1; i <= N; ++i)
cin >> P_vec.at(i);
vector<int> Q_vec((N + 1) * (N + 2) / 2);
for (int i = 0; i <= N; ++i) {
for (int j = 0; j <= i; ++j) {
int idx = i * (i + 1) / 2 + j;
Q_vec.at(idx) = P_vec.at(i) + P_vec.at(j);
}
}
auto comp = greater<int>();
sort(Q_vec.begin(), Q_vec.end(), comp);
int max_score = 0;
for (int q1 : Q_vec) {
if (q1 > M)
continue;
int q2 = *lower_bound(Q_vec.begin(), Q_vec.end(), M - q1, comp);
int score = q1 + q2;
if (max_score < score)
max_score = score;
}
cout << max_score << endl;
}
Submission Info
| Submission Time | |
|---|---|
| Task | C - ダーツ |
| User | atug |
| Language | C++ (GCC 9.2.1) |
| Score | 20 |
| Code Size | 800 Byte |
| Status | AC |
| Exec Time | 71 ms |
| Memory | 5364 KiB |
Judge Result
| Set Name | set01 | set02 | set03 | set04 | set05 | set06 | set07 | set08 | set09 | set10 | ||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Score / Max Score | 2 / 2 | 2 / 2 | 2 / 2 | 2 / 2 | 2 / 2 | 2 / 2 | 2 / 2 | 2 / 2 | 2 / 2 | 2 / 2 | ||||||||||||||||||||
| Status |
|
|
|
|
|
|
|
|
|
|
| Set Name | Test Cases |
|---|---|
| set01 | data1 |
| set02 | data2 |
| set03 | data3 |
| set04 | data4 |
| set05 | data5 |
| set06 | data6 |
| set07 | data7 |
| set08 | data8 |
| set09 | data9 |
| set10 | data10 |
| Case Name | Status | Exec Time | Memory |
|---|---|---|---|
| data1 | AC | 11 ms | 3600 KiB |
| data10 | AC | 63 ms | 5048 KiB |
| data2 | AC | 7 ms | 3572 KiB |
| data3 | AC | 11 ms | 3392 KiB |
| data4 | AC | 9 ms | 3600 KiB |
| data5 | AC | 7 ms | 3596 KiB |
| data6 | AC | 62 ms | 4988 KiB |
| data7 | AC | 71 ms | 5004 KiB |
| data8 | AC | 61 ms | 5364 KiB |
| data9 | AC | 67 ms | 5048 KiB |