Submission #1219125

#TimeUsernameProblemLanguageResultExecution timeMemory
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...