Submission #1203495
Source Code Expand
#include <cstdio> #include <cstring> #include <cmath> #include <algorithm> #include <string> #include <iostream> #include <stdlib.h> using namespace std; int main() { int n; cin >> n; if(n==1){ cout << 1 << endl; return 0; } long long int a[101] ={}; int i; for(int i=0;i<n;i++) cin >> a[i]; int ans; long long int res[240] = {}; for(ans = n ; ans < 238 ; ans++){ long long int used[240] = {}; int used_n = 0; for(i= ans - n ; i < ans ; i++){ res[i] = a[i - ans + n]; used[used_n] = res[i]; used_n++; } for(i=ans/2 - 1 ; i>=0 ; i--){ if(i >= ans - n){ if(i*2+2 < ans){ if( res[i*2+1] <= res[i] || res[i*2+2] <= res[i]){ break; } }else if(i*2+1 < ans){ if( res[i*2+1] <= res[i] ){ break; } } }else{ if( res[i*2+1] == 0 || ( i*2+2 < ans && res[i*2+2] == 0)){ break; } else{ if(i*2+2 < ans){ res[i] = min(res[i*2+1],res[i*2+2]) - 1; while( res[i]>=0 ){ bool ok = true; for(int k=0;k<used_n;k++){ if(used[k] == res[i]){ ok = false; } } if(!ok) res[i]--; else break; } if(res[i] == -1) break; used[used_n] = res[i]; used_n++; } else{ res[i] = res[i*2+1] -1; while( res[i]>=0 ){ bool ok = true; for(int k=0;k<used_n;k++){ if(used[k] == res[i]){ ok = false; } } if(!ok) res[i]--; else break; } if(res[i] == -1) break; used[used_n] = res[i]; used_n++; } } } if(i == 0){ cout << ans << endl; return 0; } } } cout << -1 << endl; return 0; }
Submission Info
Submission Time | |
---|---|
Task | D - 壊れかけのヒープ |
User | tsunenarazu |
Language | C++14 (GCC 5.4.1) |
Score | 0 |
Code Size | 2235 Byte |
Status | WA |
Exec Time | 9 ms |
Memory | 256 KB |
Judge Result
Set Name | All | ||||
---|---|---|---|---|---|
Score / Max Score | 0 / 100 | ||||
Status |
|
Set Name | Test Cases |
---|---|
All | hard-01, hard-02, hard-03, hard-04, hard-05, hard-06, hard-07, hard-08, hard-09, hard-10, hard-11, hard-12, hard-corner-01, hard-corner-02, hard-corner-03, hard-corner-04, hard-corner-05, hard-random-01, hard-random-02, hard-random-03, hard-random-04, hard-random-05, hard-random-06, hard-semirandom-01, hard-semirandom-02, hard-semirandom-03, hard-semirandom-04, hard-semirandom-05, hard-semirandom-06, sample-01, sample-02, sample-03, sample-04 |
Case Name | Status | Exec Time | Memory |
---|---|---|---|
hard-01 | AC | 1 ms | 256 KB |
hard-02 | AC | 1 ms | 256 KB |
hard-03 | AC | 1 ms | 256 KB |
hard-04 | AC | 1 ms | 256 KB |
hard-05 | AC | 1 ms | 256 KB |
hard-06 | AC | 1 ms | 256 KB |
hard-07 | AC | 1 ms | 256 KB |
hard-08 | AC | 1 ms | 256 KB |
hard-09 | AC | 9 ms | 256 KB |
hard-10 | AC | 1 ms | 256 KB |
hard-11 | AC | 4 ms | 256 KB |
hard-12 | AC | 1 ms | 256 KB |
hard-corner-01 | AC | 1 ms | 256 KB |
hard-corner-02 | AC | 1 ms | 256 KB |
hard-corner-03 | AC | 1 ms | 256 KB |
hard-corner-04 | AC | 1 ms | 256 KB |
hard-corner-05 | WA | 2 ms | 256 KB |
hard-random-01 | AC | 1 ms | 256 KB |
hard-random-02 | AC | 1 ms | 256 KB |
hard-random-03 | AC | 1 ms | 256 KB |
hard-random-04 | AC | 1 ms | 256 KB |
hard-random-05 | AC | 1 ms | 256 KB |
hard-random-06 | AC | 1 ms | 256 KB |
hard-semirandom-01 | AC | 1 ms | 256 KB |
hard-semirandom-02 | AC | 1 ms | 256 KB |
hard-semirandom-03 | AC | 1 ms | 256 KB |
hard-semirandom-04 | AC | 1 ms | 256 KB |
hard-semirandom-05 | AC | 1 ms | 256 KB |
hard-semirandom-06 | AC | 1 ms | 256 KB |
sample-01 | AC | 1 ms | 256 KB |
sample-02 | AC | 1 ms | 256 KB |
sample-03 | AC | 1 ms | 256 KB |
sample-04 | AC | 1 ms | 256 KB |