Submission #1321724

#TimeUsernameProblemLanguageResultExecution timeMemory
1321724eri16Painting Squares (IOI20_squares)C++20
83.50 / 100
119 ms416 KiB
#include<bits/stdc++.h> #include "squares.h" using namespace std; vector<int> paint(int n){ //low n test cases if (n<=16){ vector<int> ans(n+1,0); ans[n]=n; return ans; } //the actual solution vector<int> v,vv; for (int bit=0; bit<67 && v.size()!=n; bit++){ vv.clear(); for (int i=0; i<7; i++){ int tr = (bit >> i) & 1; vv.push_back(tr); } for (int j=6; j>=0 && v.size()!=n; j--){v.push_back(vv[j]);} for (int j=8; j>=0 && v.size()!=n; j--){v.push_back(1);} } v.push_back(16); return v; } int find_location(int n, vector<int> vx){ //low n test cases if (n<=16){ int ans=0; for (auto x : vx){if (x==-1){ans++;}} return ans; } //ending with -1 if(vx.back()==-1){ int cnt = 0; while(vx[vx.size()-1-cnt]==-1){cnt++;} return n-16+cnt; } //the actual solution vector<int> v,vv; for (int bit=0; bit<67 && v.size()!=n; bit++){ vv.clear(); for (int i=0; i<7; i++){ int tr = (bit >> i) & 1; vv.push_back(tr); } for (int j=6; j>=0 && v.size()!=n; j--){v.push_back(vv[j]);} for (int j=8; j>=0 && v.size()!=n; j--){v.push_back(1);} } for (int i=0; i<=n-15; i++){ vv.clear(); for (int j=i; j<i+16; j++){ vv.push_back(v[j]); } if (vv==vx){return i;} } return 0; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...