Submission #1169189

#TimeUsernameProblemLanguageResultExecution timeMemory
1169189jerzykPainting Squares (IOI20_squares)C++20
0 / 100
0 ms424 KiB
#include <bits/stdc++.h> #include "squares.h" using namespace std; #define pb push_back #define st first #define nd second typedef long long ll; typedef long double ld; const ll I = 1000'000'000'000'000'000LL; const int II = 2'000'000'000; const ll M = 1000'000'007LL; const int N = 1000; const int K = 10; bool czyinit = 0; string s = "000000000010000000011000000010100000001110000001001000000101100000011010000001111000001000100000100110000010101000001011100000110010000011011000001110100000111110000100001000110000100101000010011100001010010000101011000010110100001011110000110001000011001100001101010000110111000011100100001110110000111101000011111100010001010001000111000100100100010010110001001101000100111100010100110001010101000101011100010110010001011011000101110100010111110001100011001010001100111000110100100011010110001101101000110111100011100110001110101000111011100011110010001111011000111110100011111110010010011001001010100100101110010011011001001110100100111110010100101001110010101011001010110100101011110010110011001011010100101101110010111011001011110100101111110011001101001100111100110101010011010111001101101100110111010011011111001110011101011001110110100111011110011110101001111011100111110110011111101001111111101010101011101010110110101011111010110101101111010111011101011110110101111111011011011101101111110"; int wh[(1<<(K + 1))]; vector<int> paint(int n) { vector<int> ans; for(int i = 0; i < n; ++i) ans.pb(s[i] - '0'); ans.pb(K); return ans; } void init() { czyinit = 1; for(int i = 0; i <= N - K; ++i) { int cur = 0; for(int j = 0; j < K; ++j) cur += (1<<j) * (int)(s[i] - '0'); wh[cur] = i; } } int find_location(int n, vector<int> c) { if(!czyinit) init(); if(c.back() == -1) { while(c.back() == -1) c.pop_back(); return n - (int)c.size(); } int cur = 0; for(int i = 0; i < (int)c.size(); ++i) cur += (1<<i) * c[i]; return wh[cur]; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...