Task: | Candies |
Sender: | Przemyslaw Uznanski |
Submission time: | 2015-09-09 18:06:16 +0300 |
Language: | C++ |
Status: | READY |
Result: | ACCEPTED |
test | verdict | time | |
---|---|---|---|
#1 | ACCEPTED | 0.05 s | details |
#2 | ACCEPTED | 0.05 s | details |
#3 | ACCEPTED | 0.06 s | details |
#4 | ACCEPTED | 0.06 s | details |
#5 | ACCEPTED | 0.05 s | details |
#6 | ACCEPTED | 0.05 s | details |
#7 | ACCEPTED | 0.05 s | details |
#8 | ACCEPTED | 0.05 s | details |
#9 | ACCEPTED | 0.06 s | details |
#10 | ACCEPTED | 0.06 s | details |
#11 | ACCEPTED | 0.06 s | details |
#12 | ACCEPTED | 0.06 s | details |
#13 | ACCEPTED | 0.06 s | details |
#14 | ACCEPTED | 0.06 s | details |
#15 | ACCEPTED | 0.07 s | details |
#16 | ACCEPTED | 0.06 s | details |
#17 | ACCEPTED | 0.06 s | details |
#18 | ACCEPTED | 0.06 s | details |
#19 | ACCEPTED | 0.05 s | details |
#20 | ACCEPTED | 0.05 s | details |
#21 | ACCEPTED | 0.05 s | details |
Compiler report
input/code.cpp: In function 'int main()': input/code.cpp:23:19: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result] scanf("%d",&n); ^ input/code.cpp:29:30: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result] scanf("%lld",&inp[i]); ^
Code
#include <cstdio> #include <queue> #include <algorithm> #include <vector> #include <set> #include <cstdlib> #define all(x) (x).begin(),x.end() #define pb push_back #define mp make_pair #define x1 first #define x2 second.first #define x3 second.second #define trip(a,b,c) mp(a,mp(b,c)) using namespace std; const int inf = 1000000007; int main() { int n; scanf("%d",&n); vector<long long> inp(n); long long sum = 0; for(int i=0;i<n;i++) { scanf("%lld",&inp[i]); sum += inp[i]; } if(sum%2) { puts("QAQ"); return 0; } for(int i=0;2*i<n;i++) { long long diff = inp[i]-inp[i+n/2]; inp[i]=diff; inp[i+n/2]=-diff; } vector<long long> partial(n); for(int i=1;i<n;i++) partial[i]=partial[i-1]+inp[i-1]; sort(all(partial)); long long ans = 0; for(int i=0;i<n;i++) ans += abs(partial[i]-partial[n/2]); printf("%lld\n",ans/2); }
Test details
Test 1
Verdict: ACCEPTED
input |
---|
8
4 5 1 7 0 0 3 4 |
correct output |
---|
12 |
user output |
---|
12 |
Test 2
Verdict: ACCEPTED
input |
---|
6
1 2 3 1 1 1 |
correct output |
---|
QAQ |
user output |
---|
QAQ |
Test 3
Verdict: ACCEPTED
input |
---|
8
0 5 0 9 5 1 5 3 |
correct output |
---|
12 |
user output |
---|
12 |
Test 4
Verdict: ACCEPTED
input |
---|
2
1 9 |
correct output |
---|
4 |
user output |
---|
4 |
Test 5
Verdict: ACCEPTED
input |
---|
10
1 3 10 3 6 9 4 10 1 5 |
correct output |
---|
24 |
user output |
---|
24 |
Test 6
Verdict: ACCEPTED
input |
---|
4
7 9 3 4 |
correct output |
---|
QAQ |
user output |
---|
QAQ |
Test 7
Verdict: ACCEPTED
input |
---|
12
0 2 6 10 8 6 3 2 8 3 6 7 |
correct output |
---|
QAQ |
user output |
---|
QAQ |
Test 8
Verdict: ACCEPTED
input |
---|
60742
4710 1910 1659 9225 7381 3865 ... |
correct output |
---|
6017952277 |
user output |
---|
6017952277 |
Test 9
Verdict: ACCEPTED
input |
---|
11584
5282 4860 4143 2150 2812 601 3... |
correct output |
---|
965732716 |
user output |
---|
965732716 |
Test 10
Verdict: ACCEPTED
input |
---|
60404
2628 7729 9173 3502 2111 1040 ... |
correct output |
---|
10665547149 |
user output |
---|
10665547149 |
Test 11
Verdict: ACCEPTED
input |
---|
93500
643743466 254334505 56338701 6... |
correct output |
---|
2332675821421250 |
user output |
---|
2332675821421250 |
Test 12
Verdict: ACCEPTED
input |
---|
88320
980662112 130626205 836179288 ... |
correct output |
---|
852335249751381 |
user output |
---|
852335249751381 |
Test 13
Verdict: ACCEPTED
input |
---|
86084
661623466 605516853 815285452 ... |
correct output |
---|
1780767548661907 |
user output |
---|
1780767548661907 |
Test 14
Verdict: ACCEPTED
input |
---|
100000
683931982 877847097 963735593 ... |
correct output |
---|
2439312588016943 |
user output |
---|
2439312588016943 |
Test 15
Verdict: ACCEPTED
input |
---|
100000
607939901 388494871 946955020 ... |
correct output |
---|
2078642477260774 |
user output |
---|
2078642477260774 |
Test 16
Verdict: ACCEPTED
input |
---|
100000
129999770 281887896 212654534 ... |
correct output |
---|
1634491104792725 |
user output |
---|
1634491104792725 |
Test 17
Verdict: ACCEPTED
input |
---|
100000
984587506 859617842 965313525 ... |
correct output |
---|
908083215653911 |
user output |
---|
908083215653911 |
Test 18
Verdict: ACCEPTED
input |
---|
100000
262098859 130542442 982092757 ... |
correct output |
---|
2404890264763254 |
user output |
---|
2404890264763254 |
Test 19
Verdict: ACCEPTED
input |
---|
94478
586981276 778806053 845074693 ... |
correct output |
---|
QAQ |
user output |
---|
QAQ |
Test 20
Verdict: ACCEPTED
input |
---|
82474
989366273 218860004 500508088 ... |
correct output |
---|
QAQ |
user output |
---|
QAQ |
Test 21
Verdict: ACCEPTED
input |
---|
8
1 1 7 2 1 1 7 2 |
correct output |
---|
0 |
user output |
---|
0 |