Submission #961974

# Submission time Handle Problem Language Result Execution time Memory
961974 2024-04-13T00:53:20 Z steveonalex Coins (IOI17_coins) C++17
100 / 100
12 ms 1940 KB
#include <bits/stdc++.h>
#include "coins.h"
 
using namespace std;
 
typedef long long ll;
typedef unsigned long long ull;
 
#define ALL(v) (v).begin(), (v).end()
#define MASK(i) (1LL << (i))
#define GETBIT(mask, i) (((mask) >> (i)) & 1)
 
// mt19937_64 rng(chrono::steady_clock::now().time_since_epoch().count());
mt19937_64 rng(1);
ll rngesus(ll l, ll r){return ((ull) rng()) % (r - l + 1) + l;}
 
ll max(ll a, ll b){return (a > b) ? a : b;}
ll min(ll a, ll b){return (a < b) ? a : b;}
 
ll LASTBIT(ll mask){return mask & (-mask);}
ll pop_cnt(ll mask){return __builtin_popcountll(mask);}
ll ctz(ll mask){return __builtin_ctzll(mask);}
ll clz(ll mask){return __builtin_clzll(mask);}
ll logOf(ll mask){return 63 - clz(mask);}
 
template <class T1, class T2>
    bool minimize(T1 &a, T2 b){
        if (a > b){a = b; return true;}
        return false;
    }
template <class T1, class T2>
    bool maximize(T1 &a, T2 b){
        if (a < b){a = b; return true;}
        return false;
    }
template <class T>
    void printArr(T& a, string separator = " ", string finish = "\n"){
        for(auto i: a) cout << i << separator;
        cout << finish;
    }
template <class T>
    void remove_dup(vector<T> &a){
        sort(ALL(a));
        a.resize(unique(ALL(a)) - a.begin());
    }

const int N = 64;

int encode(vector<int> h){
    int ans = 0;
    for(int i = 0; i<N; ++i) if (h[i]) ans ^= i;
    return ans;
}

vector<int> coin_flips(vector<int> b, int c) {
    for(int i = 0; i<N; ++i){
        vector<int> h = b;
        h[i] ^= 1;
        int cur = encode(h);
        if (cur == c) {
            return {i};
        }
    }
}

int find_coin(vector<int> b) {
    return encode(b);
}


// int main(void){
//     ios::sync_with_stdio(0); cin.tie(0); cout.tie(0);

//     vector<int> chess(64, 0);
//     vector<int> mis = coin_flips(chess, 63);
//     printArr(mis);

//     return 0;
// }

Compilation message

coins.cpp: In function 'std::vector<int> coin_flips(std::vector<int>, int)':
coins.cpp:64:1: warning: control reaches end of non-void function [-Wreturn-type]
   64 | }
      | ^
# Verdict Execution time Memory Grader output
1 Correct 11 ms 1612 KB Output is correct
2 Correct 11 ms 1692 KB Output is correct
3 Correct 11 ms 1692 KB Output is correct
4 Correct 11 ms 1640 KB Output is correct
5 Correct 8 ms 1688 KB Output is correct
6 Correct 8 ms 1700 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 11 ms 1612 KB Output is correct
2 Correct 11 ms 1692 KB Output is correct
3 Correct 11 ms 1692 KB Output is correct
4 Correct 11 ms 1640 KB Output is correct
5 Correct 8 ms 1688 KB Output is correct
6 Correct 8 ms 1700 KB Output is correct
7 Correct 11 ms 1664 KB Output is correct
8 Correct 11 ms 1684 KB Output is correct
9 Correct 11 ms 1940 KB Output is correct
10 Correct 11 ms 1688 KB Output is correct
11 Correct 12 ms 1688 KB Output is correct
12 Correct 8 ms 1688 KB Output is correct
13 Correct 9 ms 1680 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 11 ms 1680 KB Output is correct
2 Correct 11 ms 1684 KB Output is correct
3 Correct 11 ms 1688 KB Output is correct
4 Correct 11 ms 1688 KB Output is correct
5 Correct 11 ms 1688 KB Output is correct
6 Correct 11 ms 1516 KB Output is correct
7 Correct 9 ms 1696 KB Output is correct
8 Correct 11 ms 1688 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 9 ms 1688 KB Output is correct
2 Correct 9 ms 1652 KB Output is correct
3 Correct 11 ms 1688 KB Output is correct
4 Correct 11 ms 1536 KB Output is correct
5 Correct 11 ms 1688 KB Output is correct
6 Correct 11 ms 1688 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 11 ms 1612 KB Output is correct
2 Correct 11 ms 1692 KB Output is correct
3 Correct 11 ms 1692 KB Output is correct
4 Correct 11 ms 1640 KB Output is correct
5 Correct 8 ms 1688 KB Output is correct
6 Correct 8 ms 1700 KB Output is correct
7 Correct 11 ms 1664 KB Output is correct
8 Correct 11 ms 1684 KB Output is correct
9 Correct 11 ms 1940 KB Output is correct
10 Correct 11 ms 1688 KB Output is correct
11 Correct 12 ms 1688 KB Output is correct
12 Correct 8 ms 1688 KB Output is correct
13 Correct 9 ms 1680 KB Output is correct
14 Correct 11 ms 1688 KB Output is correct
15 Correct 12 ms 1672 KB Output is correct
16 Correct 11 ms 1688 KB Output is correct
17 Correct 11 ms 1688 KB Output is correct
18 Correct 11 ms 1820 KB Output is correct
19 Correct 11 ms 1688 KB Output is correct
20 Correct 11 ms 1688 KB Output is correct
21 Correct 11 ms 1640 KB Output is correct
22 Correct 9 ms 1692 KB Output is correct
23 Correct 9 ms 1688 KB Output is correct
24 Correct 9 ms 1688 KB Output is correct
25 Correct 9 ms 1688 KB Output is correct