Task: | Ice cream |
Sender: | AMO5 |
Submission time: | 2017-01-22 17:08:22 +0200 |
Language: | C++ |
Status: | READY |
Result: | 0 |
group | verdict | score |
---|---|---|
#1 | RUNTIME ERROR | 0 |
test | verdict | time | |
---|---|---|---|
#1 | ACCEPTED | 0.03 s | details |
#2 | ACCEPTED | 0.04 s | details |
#3 | ACCEPTED | 0.04 s | details |
#4 | ACCEPTED | 0.03 s | details |
#5 | RUNTIME ERROR | 0.19 s | details |
#6 | ACCEPTED | 0.03 s | details |
#7 | ACCEPTED | 0.04 s | details |
#8 | ACCEPTED | 0.03 s | details |
#9 | ACCEPTED | 0.06 s | details |
#10 | WRONG ANSWER | 0.03 s | details |
Compiler report
input/code.cpp: In function 'int main()': input/code.cpp:51:31: warning: comparison between signed and unsigned integer expressions [-Wsign-compare] for(int a=0;a<po.size();a++){ ^ input/code.cpp:48:45: warning: 'lw1' may be used uninitialized in this function [-Wmaybe-uninitialized] if(p[a]<=left1) po.push_back(lw1+w[a]); ^ input/code.cpp:43:19: warning: 'clw1' may be used uninitialized in this function [-Wmaybe-uninitialized] if((x/2-p[clw1])>=0) cout << 2*lw1 << endl; ^ input/code.cpp:46:48: warning: 'clw2' may be used uninitialized in this function [-Wmaybe-uninitialized] int left1=x-p[clw1]; int left2=x-p[clw2]; ^ input/code.cpp:49:45: warning: 'lw2' may be used uninitialized in this function [-Wmaybe-uninitialized] if(p[a]<=left2) po.push_back(lw2+w[a]);...
Code
#include <iostream> // for(int i=0;i<n;i++){} #include <stdio.h> #include <ctype.h> #include <iomanip> // setprecision cout<<fixed<<setprecision(10)<<ans; #include <cmath> #include <string> #include <vector> #include <stack> #include <locale> #include <sstream> #include <algorithm> #include <queue> #include <string.h> using namespace std; int main() { int n,x,lw1,clw1,lw2,clw2; cin >> n >> x; vector<long long>p(n); vector<long long>w(n); for(int a=0;a<n;a++){ cin >> p[a] >> w[a] ; } if(n!=1){ for(int a=0;a<n;a++){ if(p[a]<x){ if(a==0){ lw1=w[a]; clw1=a;} else{ if((w[a]==lw1&&p[a]<p[clw1])||w[a]>lw1){ lw1=w[a]; clw1=a; } } } } for(int a=0;a<n;a++){ if(a==clw1&&a==0){ lw2=w[a+1]; clw2=a+1; }else if(a==clw1){ }else{ if(a==0){lw2=w[a]; clw2=a;} else{ if((w[a]==lw2&&p[a]<p[clw2])||w[a]>lw2){ lw2=w[a]; clw2=a; }} } } if((x/2-p[clw1])>=0) cout << 2*lw1 << endl; else{ vector<long long>po; int left1=x-p[clw1]; int left2=x-p[clw2]; for(int a=0;a<n;a++){ if(p[a]<=left1) po.push_back(lw1+w[a]); if(p[a]<=left2) po.push_back(lw2+w[a]); } for(int a=0;a<po.size();a++){ if(a==0) lw1=po[a]; else{ if(po[a]>lw1) lw1=po[a]; } } cout << lw1 << endl; } }else cout << 2*w[0] << endl; }
Test details
Test 1
Verdict: ACCEPTED
input |
---|
1 749 88 363 |
correct output |
---|
726 |
user output |
---|
726 |
Test 2
Verdict: ACCEPTED
input |
---|
2 902 968 550 152 228 |
correct output |
---|
456 |
user output |
---|
456 |
Test 3
Verdict: ACCEPTED
input |
---|
5 295 35 81 653 771 747 823 871 611 ... |
correct output |
---|
162 |
user output |
---|
162 |
Test 4
Verdict: ACCEPTED
input |
---|
10 272 38 13 114 420 42 344 942 307 ... |
correct output |
---|
840 |
user output |
---|
840 |
Test 5
Verdict: RUNTIME ERROR
input |
---|
50 468 867 254 870 736 28 739 60 609 ... |
correct output |
---|
2000 |
user output |
---|
(empty) |
Test 6
Verdict: ACCEPTED
input |
---|
100 739 395 712 476 916 102 614 312 533 ... |
correct output |
---|
1928 |
user output |
---|
1928 |
Test 7
Verdict: ACCEPTED
input |
---|
100 781 342 898 466 888 713 516 133 389 ... |
correct output |
---|
1894 |
user output |
---|
1894 |
Test 8
Verdict: ACCEPTED
input |
---|
100 297 423 506 135 31 279 441 362 969 ... |
correct output |
---|
1906 |
user output |
---|
1906 |
Test 9
Verdict: ACCEPTED
input |
---|
100 875 917 956 243 815 365 575 42 846 ... |
correct output |
---|
1960 |
user output |
---|
1960 |
Test 10
Verdict: WRONG ANSWER
input |
---|
100 651 963 307 169 423 172 150 779 998 ... |
correct output |
---|
1970 |
user output |
---|
1794 |