#include <iostream> using namespace std; void dodaj(bool *T,int x) { if (!T[x]) T[x]=true; else {T[x]=false; dodaj(T,x+1); } } int main () { ios_base::sync_with_stdio(0); cin.tie(0); int C=201739; bool * T = new bool [C]; for (int i=0;i<C;++i) T[i]=false; int coin; cin>>coin; while (cin>>coin) { dodaj(T,coin); } for (int i=C-1;;--i) if (T[i]==true) {cout<<i;return 0;} return 0; }
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 | #include <iostream> using namespace std; void dodaj(bool *T,int x) { if (!T[x]) T[x]=true; else {T[x]=false; dodaj(T,x+1); } } int main () { ios_base::sync_with_stdio(0); cin.tie(0); int C=201739; bool * T = new bool [C]; for (int i=0;i<C;++i) T[i]=false; int coin; cin>>coin; while (cin>>coin) { dodaj(T,coin); } for (int i=C-1;;--i) if (T[i]==true) {cout<<i;return 0;} return 0; } |