Submission #1965592
Source Code Expand
#include <iostream> #include <vector> #include <set> using namespace std; typedef long long ll; int n; ll m; ll p[1002]; set<ll> memo; int main() { cin >> n >> m; for(int i = 0;i < n;i++) cin >> p[i]; p[n] = 0; p[n + 1] = 0; ll result = 0; for(int i = 0;i < n + 2;i++) { for(int j = 0;j < n + 2;j++) { if(p[i] + p[j] <= m) { memo.insert(p[i] + p[j]); result = max(result , p[i] + p[j]); } } } for(auto ite = memo.begin();ite != memo.end();++ite) { ll v = (*ite); auto low = memo.lower_bound(m - v + 1); if(low != memo.begin()) { --low; result = max(result , v + (*low)); } } cout << result << endl; return 0; }
Submission Info
Submission Time | |
---|---|
Task | C - ダーツ |
User | niuez |
Language | C++14 (GCC 5.4.1) |
Score | 20 |
Code Size | 721 Byte |
Status | AC |
Exec Time | 472 ms |
Memory | 23552 KB |
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 | 2 ms | 256 KB |
data10 | AC | 441 ms | 23424 KB |
data2 | AC | 3 ms | 512 KB |
data3 | AC | 25 ms | 2304 KB |
data4 | AC | 25 ms | 2304 KB |
data5 | AC | 15 ms | 1536 KB |
data6 | AC | 440 ms | 23040 KB |
data7 | AC | 472 ms | 23040 KB |
data8 | AC | 451 ms | 23296 KB |
data9 | AC | 464 ms | 23552 KB |