제출 #1219125

#제출 시각아이디문제언어결과실행 시간메모리
1219125matereCoins (IOI17_coins)C++20
0 / 100
1 ms584 KiB
#include "coins.h" #include<bits/stdc++.h> using namespace std; std::vector<int> coin_flips(std::vector<int> b, int c) { int sum=0; for(int i=0;i<64;i++){ if(b[i]) sum+=i; } sum%=64; bool is=b[32]; std::vector<int>flips; int aa=abs(sum-c),bb=64-abs(sum-c),cc=64-c; if(aa>bb) swap(aa,bb); if(c==32){ flips.push_back(0); } else{ if(b[aa]==0 and b[bb]==0){ flips.push_back(aa); } else if(b[aa]==1 and b[bb]==1){ flips.push_back(bb); } else{ if(c<cc){ if(b[aa]==0 and b[32]==0){ flips.push_back(aa); } else if(b[aa]==1 and b[32]==0){ flips.push_back(bb); } if(b[aa]==0 and b[32]==1){ flips.push_back(bb); } else if(b[aa]==1 and b[32]==1){ flips.push_back(aa); } } else{ if(b[aa]==0 and b[32]==0){ flips.push_back(bb); } else if(b[aa]==1 and b[32]==0){ flips.push_back(aa); } if(b[aa]==0 and b[32]==1){ flips.push_back(aa); } else if(b[aa]==1 and b[32]==1){ flips.push_back(bb); } } } } return flips; } int find_coin(std::vector<int> b) { int sum=0; for(int i=0;i<64;i++){ if(b[i]) sum+=i; } sum%=64; bool is=b[32]; std::vector<int>flips; int aa=sum,bb=64-sum; if(aa>bb) swap(aa,bb); if(b[aa]!=b[32]) return aa; else return bb; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...