Task: | Greedy Game |
Sender: | Hansuzu |
Submission time: | 2016-07-28 14:51:24 +0300 |
Language: | C++ |
Status: | READY |
Result: | 100 |
group | verdict | score |
---|---|---|
#1 | ACCEPTED | 100 |
test | verdict | time | |
---|---|---|---|
#1 | ACCEPTED | 0.04 s | details |
#2 | ACCEPTED | 0.06 s | details |
#3 | ACCEPTED | 0.05 s | details |
#4 | ACCEPTED | 0.06 s | details |
#5 | ACCEPTED | 0.05 s | details |
#6 | ACCEPTED | 0.06 s | details |
#7 | ACCEPTED | 0.06 s | details |
#8 | ACCEPTED | 0.06 s | details |
#9 | ACCEPTED | 0.06 s | details |
#10 | ACCEPTED | 0.04 s | details |
#11 | ACCEPTED | 0.06 s | details |
#12 | ACCEPTED | 0.06 s | details |
#13 | ACCEPTED | 0.07 s | details |
#14 | ACCEPTED | 0.10 s | details |
#15 | ACCEPTED | 0.12 s | details |
#16 | ACCEPTED | 0.10 s | details |
#17 | ACCEPTED | 0.10 s | details |
#18 | ACCEPTED | 0.10 s | details |
#19 | ACCEPTED | 0.19 s | details |
#20 | ACCEPTED | 0.18 s | details |
#21 | ACCEPTED | 0.19 s | details |
#22 | ACCEPTED | 0.20 s | details |
#23 | ACCEPTED | 0.19 s | details |
#24 | ACCEPTED | 0.12 s | details |
#25 | ACCEPTED | 0.18 s | details |
#26 | ACCEPTED | 0.14 s | details |
#27 | ACCEPTED | 0.18 s | details |
#28 | ACCEPTED | 0.14 s | details |
#29 | ACCEPTED | 0.14 s | details |
#30 | ACCEPTED | 0.13 s | details |
Compiler report
input/code.cpp: In function 'int main()': input/code.cpp:27:27: warning: comparison between signed and unsigned integer expressions [-Wsign-compare] for (int i=0; i<qq.size(); ++i){ ^ input/code.cpp:33:7: warning: unused variable 'mn' [-Wunused-variable] int mn=0; ^
Code
#include <iostream> #include <vector> #include <algorithm> #include <set> #define MP make_pair #define F first #define S second using namespace std; int n; int a[101010]; vector<pair<int, int> > qq; set<int> ok; set<int>::iterator it; int main(){ for (int i=0; i<101010/2; ++i) ok.insert(-i); cin >> n; for (int i=0; i<n; ++i)cin >> a[i]; for (int i=0; i<n; ++i){ int b; cin >> b; qq.push_back(MP(a[i], b)); }sort(qq.begin(), qq.end()); qq.pop_back(); for (int i=0; i<qq.size(); ++i){ qq[i].F=qq.size()-i-1; swap(qq[i].F, qq[i].S); } sort(qq.begin(), qq.end()); long long ans=0; int mn=0; // for (int i=0; i<qq.size(); ++i)cout << "qq[" << i << "]: <" << qq[i].F << ", " << qq[i].S << ">\n"; for (int i=qq.size()-1; i>=0; --i){ int v=qq[i].F; int ci=qq[i].S; it=ok.lower_bound(-ci/2); if (it==ok.end()) continue; ok.erase(it); ans+=v; } cout << ans << "\n"; }
Test details
Test 1
Verdict: ACCEPTED
input |
---|
5 1 2 3 4 5 2 3 4 5 6 |
correct output |
---|
8 |
user output |
---|
8 |
Test 2
Verdict: ACCEPTED
input |
---|
10 1 1 1 1 1 1 1 1 1 1 2 3 9 5 6 6 1 2 3 4 |
correct output |
---|
17 |
user output |
---|
17 |
Test 3
Verdict: ACCEPTED
input |
---|
15 1 2 3 4 5 6 7 8 9 10 11 12 13 ... |
correct output |
---|
7 |
user output |
---|
7 |
Test 4
Verdict: ACCEPTED
input |
---|
15 2 4 2 8 6 6 5 6 4 10 9 3 10 7 ... |
correct output |
---|
60 |
user output |
---|
60 |
Test 5
Verdict: ACCEPTED
input |
---|
15 3 8 6 9 1 5 1 9 3 10 1 10 9 8 ... |
correct output |
---|
47 |
user output |
---|
47 |
Test 6
Verdict: ACCEPTED
input |
---|
15 2 6 4 9 8 3 8 7 1 8 8 7 5 6 8 7 6 4 9 3 8 9 5 3 10 2 2 4 6 3 |
correct output |
---|
46 |
user output |
---|
46 |
Test 7
Verdict: ACCEPTED
input |
---|
15 7 10 8 8 6 10 5 1 7 3 9 4 7 9 ... |
correct output |
---|
56 |
user output |
---|
56 |
Test 8
Verdict: ACCEPTED
input |
---|
15 9 8 7 7 4 6 4 10 3 7 5 9 5 9 5 3 6 7 2 9 8 3 3 7 5 6 7 9 3 8 |
correct output |
---|
55 |
user output |
---|
55 |
Test 9
Verdict: ACCEPTED
input |
---|
15 684567283 992849846 97315816 3... |
correct output |
---|
5346487014 |
user output |
---|
5346487014 |
Test 10
Verdict: ACCEPTED
input |
---|
15 220108915 735849670 3920201 84... |
correct output |
---|
4369763599 |
user output |
---|
4369763599 |
Test 11
Verdict: ACCEPTED
input |
---|
15 428748595 949568430 413698361 ... |
correct output |
---|
5262225140 |
user output |
---|
5262225140 |
Test 12
Verdict: ACCEPTED
input |
---|
15 310486323 634006126 326650297 ... |
correct output |
---|
5825473032 |
user output |
---|
5825473032 |
Test 13
Verdict: ACCEPTED
input |
---|
15 865322099 789162758 742776009 ... |
correct output |
---|
5028684388 |
user output |
---|
5028684388 |
Test 14
Verdict: ACCEPTED
input |
---|
100000 1 5 7 1 6 8 1 7 9 2 7 7 6 1 8 ... |
correct output |
---|
387044 |
user output |
---|
387044 |
Test 15
Verdict: ACCEPTED
input |
---|
100000 10 6 1 4 1 8 5 4 8 10 5 8 7 5 ... |
correct output |
---|
388046 |
user output |
---|
388046 |
Test 16
Verdict: ACCEPTED
input |
---|
100000 6 1 1 6 7 8 10 6 7 6 8 7 6 5 3... |
correct output |
---|
387631 |
user output |
---|
387631 |
Test 17
Verdict: ACCEPTED
input |
---|
100000 9 2 5 7 5 8 5 3 4 10 5 6 10 2 ... |
correct output |
---|
387600 |
user output |
---|
387600 |
Test 18
Verdict: ACCEPTED
input |
---|
100000 8 7 4 7 3 6 2 6 1 2 7 5 1 5 5 ... |
correct output |
---|
387928 |
user output |
---|
387928 |
Test 19
Verdict: ACCEPTED
input |
---|
100000 329395763 605200206 806179577 ... |
correct output |
---|
37487670627833 |
user output |
---|
37487670627833 |
Test 20
Verdict: ACCEPTED
input |
---|
100000 595917875 55389390 744521721 4... |
correct output |
---|
37446270419509 |
user output |
---|
37446270419509 |
Test 21
Verdict: ACCEPTED
input |
---|
100000 535538034 976297510 186037641 ... |
correct output |
---|
37452666188784 |
user output |
---|
37452666188784 |
Test 22
Verdict: ACCEPTED
input |
---|
100000 148256243 367924566 130727336 ... |
correct output |
---|
37441139105851 |
user output |
---|
37441139105851 |
Test 23
Verdict: ACCEPTED
input |
---|
100000 434072499 230270558 578590809 ... |
correct output |
---|
37528719082827 |
user output |
---|
37528719082827 |
Test 24
Verdict: ACCEPTED
input |
---|
100000 1 2 3 4 5 6 7 8 9 10 11 12 13 ... |
correct output |
---|
375239 |
user output |
---|
375239 |
Test 25
Verdict: ACCEPTED
input |
---|
100000 1 2 3 4 5 6 7 8 9 10 11 12 13 ... |
correct output |
---|
37477679133533 |
user output |
---|
37477679133533 |
Test 26
Verdict: ACCEPTED
input |
---|
100000 1 2 3 4 5 6 7 8 9 10 11 12 13 ... |
correct output |
---|
375514 |
user output |
---|
375514 |
Test 27
Verdict: ACCEPTED
input |
---|
100000 1 2 3 4 5 6 7 8 9 10 11 12 13 ... |
correct output |
---|
37505905982098 |
user output |
---|
37505905982098 |
Test 28
Verdict: ACCEPTED
input |
---|
100000 100000 100000 100000 100000 10... |
correct output |
---|
5000000000 |
user output |
---|
5000000000 |
Test 29
Verdict: ACCEPTED
input |
---|
100000 1 2 3 4 5 6 7 8 9 10 11 12 13 ... |
correct output |
---|
2500000000 |
user output |
---|
2500000000 |
Test 30
Verdict: ACCEPTED
input |
---|
100000 1 2 3 4 5 6 7 8 9 10 11 12 13 ... |
correct output |
---|
3750025000 |
user output |
---|
3750025000 |