# | Time | Username | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
372504 | cpp219 | Painting Squares (IOI20_squares) | C++14 | 251 ms | 656 KiB |
This submission is migrated from previous version of oj.uz, which used different machine for grading. This submission may have different result if resubmitted.
#pragma GCC target ("avx2")
#pragma GCC optimization ("O3")
#pragma GCC optimization ("unroll-loops")
#include<bits/stdc++.h>
#define ll int
#define ld long double
#define fs first
#define sc second
using namespace std;
typedef pair<ll,ll> LL;
const ll N = 2e3 + 9;
const ll mod = 1e9 + 7;
vector<ll> ans;
void Init(){
int k = 10;
for (int i = 0; i < 10; i++) ans.push_back(1);
int v = (1 << k) - 1;
vector<bool> kt(1 << k);
kt[v] = true;
while ((int)ans.size() < 1000) {
v = (v << 1) % (1 << k);
int sign = 0;
if (kt[v]) {
v++;
sign = 1;
}
kt[v] = true;
ans.push_back(sign);
}
}
vector<ll> paint(ll n){
if (ans.empty()) Init();
vector<int> a(n + 1);
a[n] = 10;
for (int i = 0; i < n; i++) a[i] = ans[i];
return a;
}
vector<ll> now;
ll find_location(ll n,vector<ll> c){
if (ans.empty()) Init();
for (int i = 0; i < n; i++) {
now.clear();
for (int j = 0; j < 10; j++) {
if (i + j >= n) now.push_back(-1);
else now.push_back(ans[i + j]);
}
if (now == c) return i;
}
}
/*
int main(){
ios_base::sync_with_stdio(0);
cin.tie(0); cout.tie(0);
#define task "tst"
if (fopen(task".INP","r")){
freopen(task".INP","r",stdin);
//freopen(task".OUT","w",stdout);
}
ll len; cin>>len; paint(len); /// 00000000001000000001
for (auto i : ans) cout<<i;
}
*/
Compilation message (stderr)
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |