http://codeforces.com/contest/825/submission/28650576
Thanks in advance!
# | User | Rating |
---|---|---|
1 | ecnerwala | 3650 |
2 | Benq | 3582 |
3 | Geothermal | 3570 |
3 | orzdevinwang | 3570 |
5 | cnnfls_csy | 3569 |
6 | tourist | 3565 |
7 | maroonrk | 3532 |
8 | Radewoosh | 3522 |
9 | Um_nik | 3483 |
10 | jiangly | 3468 |
# | User | Contrib. |
---|---|---|
1 | maomao90 | 174 |
2 | awoo | 164 |
3 | adamant | 163 |
4 | TheScrasse | 159 |
5 | nor | 158 |
6 | maroonrk | 156 |
7 | -is-this-fft- | 151 |
8 | SecondThread | 147 |
9 | orz | 146 |
10 | pajenegod | 145 |
Hi! I attempted to do the problem http://codeforces.com/problemset/problem/808/C but got a runtime error with my solution saying that the "Exit code is -1073741819".Please can someone tell me what did I do wrong?
Here is my code:
using namespace std; int cmpfunc (const void * a, const void * b) { return ( (int)a — (int)b ); } int main(){ int cap,n,w,sum=0; cin>>n>>w; map <int,int> arr; map<int,int> :: iterator it; int p[n]; for(int i=0;i<n;i++){ cin>>cap; arr.insert(pair<int,int> (cap,i));
p[i]=ceil(cap/2.0); sum+=p[i];
} if(sum>w){ cout<<"-1"; } else { w=w-sum; it=arr.end(); for(;it!=arr.begin();it--){ if(w!=0){ if(w>=it->first/2){ p[it->second]=it->first; w-= (it->first-p[it->second]); } else { p[it->second]+=w; w=0; }
} else { break; } } for(int i=0;i<n;i++){ cout<<p[i]<<" "; }
} return 0; }
Name |
---|