Task: | Apple Division |
Sender: | aalto2024a_011 |
Submission time: | 2024-09-04 17:47:59 +0300 |
Language: | C++ (C++11) |
Status: | READY |
Result: | WRONG ANSWER |
test | verdict | time | |
---|---|---|---|
#1 | ACCEPTED | 0.00 s | details |
#2 | ACCEPTED | 0.00 s | details |
#3 | ACCEPTED | 0.00 s | details |
#4 | ACCEPTED | 0.00 s | details |
#5 | ACCEPTED | 0.00 s | details |
#6 | ACCEPTED | 0.00 s | details |
#7 | ACCEPTED | 0.00 s | details |
#8 | ACCEPTED | 0.00 s | details |
#9 | ACCEPTED | 0.00 s | details |
#10 | ACCEPTED | 0.00 s | details |
#11 | ACCEPTED | 0.00 s | details |
#12 | WRONG ANSWER | 0.00 s | details |
#13 | ACCEPTED | 0.00 s | details |
#14 | ACCEPTED | 0.00 s | details |
#15 | ACCEPTED | 0.00 s | details |
#16 | ACCEPTED | 0.00 s | details |
#17 | WRONG ANSWER | 0.00 s | details |
#18 | ACCEPTED | 0.00 s | details |
Compiler report
input/code.cpp: In function 'void Test()': input/code.cpp:16:12: warning: ignoring return value of 'FILE* freopen(const char*, const char*, FILE*)' declared with attribute 'warn_unused_result' [-Wunused-result] 16 | freopen("temp\\in.txt", "r", stdin); | ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ input/code.cpp: In function 'int main()': input/code.cpp:24:10: warning: ignoring return value of 'int scanf(const char*, ...)' declared with attribute 'warn_unused_result' [-Wunused-result] 24 | scanf("%d", &n); | ~~~~~^~~~~~~~~~ input/code.cpp:28:14: warning: ignoring return value of 'int scanf(const char*, ...)' declared with attribute 'warn_unused_result' [-Wunused-result] 28 | scanf("%d", &weight[i]); | ~~~~~^~~~~~~~~~~~~~~~~~
Code
#include<iostream> #include<cstdio> #include<algorithm> #include<vector> #include<cmath> #include<set> typedef long long LL; const int N=105; using namespace std; void Test() { freopen("temp\\in.txt", "r", stdin); } int weight[N]; int main() { // Test(); int n, m; scanf("%d", &n); m=n/2; for(int i=1; i<=n; i++) { scanf("%d", &weight[i]); } // set<int> f; for(int i=0; i<(1<<m); i++) { int sum=0; for(int j=0; j<m; j++) { if((i>>j)&1) sum+=weight[j+1]; else sum-=weight[j+1]; } f.insert(sum); } // for(auto it=f.begin(); it!=f.end(); it++) // printf("%d ", *it); // printf("\n"); int ans=0x3f3f3f3f; int bound = m; if((n&1) == 1) bound++; set<int> b; for(int i=0; i<(1<<bound); i++) { int sum=0; for(int j=0; j<bound; j++) { if((i>>j)&1) sum+=weight[j+m+1]; else sum-=weight[j+m+1]; } b.insert(sum); auto it = f.upper_bound(sum); if(it!=f.end()) ans = min(ans, abs(sum-(*it))); if(it!=f.begin()) { it--; ans = min(ans, abs(sum-(*it))); } } // for(auto it=b.begin(); it!=b.end(); it++) // printf("%d ", *it); // printf("\n"); printf("%d", ans); return 0; }
Test details
Test 1
Verdict: ACCEPTED
input |
---|
10 603 324 573 493 659 521 654 70... |
correct output |
---|
2 |
user output |
---|
2 |
Test 2
Verdict: ACCEPTED
input |
---|
10 952 775 292 702 859 719 65 943... |
correct output |
---|
1 |
user output |
---|
1 |
Test 3
Verdict: ACCEPTED
input |
---|
10 141 156 14 487 250 230 741 602... |
correct output |
---|
2 |
user output |
---|
2 |
Test 4
Verdict: ACCEPTED
input |
---|
10 963 359 731 826 599 931 40 86 ... |
correct output |
---|
4 |
user output |
---|
4 |
Test 5
Verdict: ACCEPTED
input |
---|
10 238 224 861 461 558 860 318 93... |
correct output |
---|
2 |
user output |
---|
2 |
Test 6
Verdict: ACCEPTED
input |
---|
10 193 848 70 53 864 886 374 31 2... |
correct output |
---|
1 |
user output |
---|
1 |
Test 7
Verdict: ACCEPTED
input |
---|
20 13048212 423374770 19874608 81... |
correct output |
---|
8231 |
user output |
---|
8231 |
Test 8
Verdict: ACCEPTED
input |
---|
20 314836307 815098885 922742346 ... |
correct output |
---|
1188 |
user output |
---|
1188 |
Test 9
Verdict: ACCEPTED
input |
---|
20 846261131 196958704 824235264 ... |
correct output |
---|
11770 |
user output |
---|
11770 |
Test 10
Verdict: ACCEPTED
input |
---|
20 92021619 792314463 937735495 8... |
correct output |
---|
4453 |
user output |
---|
4453 |
Test 11
Verdict: ACCEPTED
input |
---|
20 452747515 202201476 845758891 ... |
correct output |
---|
4881 |
user output |
---|
4881 |
Test 12
Verdict: WRONG ANSWER
input |
---|
20 934033764 747013925 113297529 ... |
correct output |
---|
5482 |
user output |
---|
4264 |
Test 13
Verdict: ACCEPTED
input |
---|
1 1000000000 |
correct output |
---|
1000000000 |
user output |
---|
1000000000 |
Test 14
Verdict: ACCEPTED
input |
---|
2 1 1 |
correct output |
---|
0 |
user output |
---|
0 |
Test 15
Verdict: ACCEPTED
input |
---|
1 1 |
correct output |
---|
1 |
user output |
---|
1 |
Test 16
Verdict: ACCEPTED
input |
---|
5 934033764 2 7 4 1 |
correct output |
---|
934033750 |
user output |
---|
934033750 |
Test 17
Verdict: WRONG ANSWER
input |
---|
20 934033764 747013925 113297529 ... |
correct output |
---|
5483 |
user output |
---|
4265 |
Test 18
Verdict: ACCEPTED
input |
---|
19 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 ... |
correct output |
---|
1 |
user output |
---|
1 |