Submission #396730

#TimeUsernameProblemLanguageResultExecution timeMemory
396730johuthaPainting Squares (IOI20_squares)C++17
100 / 100
184 ms480 KiB
#include "squares.h" #include <vector> #include <string> using namespace std; vector<int> generate(int n) { string st = "000000000010000000011000000010100000001110000001001000000101100000011010000001111000001000100000100110000010101000001011100000110010000011011000001110100000111110000100001000110000100101000010011100001010010000101011000010110100001011110000110001000011001100001101010000110111000011100100001110110000111101000011111100010001010001000111000100100100010010110001001101000100111100010100110001010101000101011100010110010001011011000101110100010111110001100011001010001100111000110100100011010110001101101000110111100011100110001110101000111011100011110010001111011000111110100011111110010010011001001010100100101110010011011001001110100100111110010100101001110010101011001010110100101011110010110011001011010100101101110010111011001011110100101111110011001101001100111100110101010011010111001101101100110111010011011111001110011101011001110110100111011110011110101001111011100111110110011111101001111111101010101011101010110110101011111010110101101111010111011101011110110101111111011011011101101111110111011111011110111111111"; vector<int> v; for (int i = 0; i < n; i++) v.push_back(st[i] - '0'); return v; } vector<int> paint(int n) { vector<int> v = generate(n); v.push_back(10); return v; } int find_location(int n, std::vector<int> c) { for (int i = 0; i < 10; i++) if (c[i] == -1) return n - i; vector<int> v = generate(n); int bc = 0; for (int i = 0; i < 10; i++) { bc <<= 1; bc += c[i]; } int b1 = 0; for (int i = 9; i < n; i++) { b1 <<= 1; b1 %= 1024; b1 += v[i]; if (b1 == bc) return i - 9; } return -1; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...