# | 제출 시각 | 아이디 | 문제 | 언어 | 결과 | 실행 시간 | 메모리 |
---|---|---|---|---|---|---|---|
30337 | 2017-07-23T08:58:20 Z | inqr | 곤돌라 (IOI14_gondola) | C++14 | 46 ms | 7764 KB |
#include "gondola.h" #include <bits/stdc++.h> #define pb push_back #define mp make_pair #define rt insert #define st first #define nd second #define ll long long #define pii pair < int , int > #define DB printf("debug\n"); #define umax( x , y ) x = max( x , (y) ) #define umin( x , y ) x = min( x , (y) ) #define all(x) x.begin() , x.end() using namespace std; int nx(int i,int sz){ return (i+1)%(sz); } map < int,int > timesseen; int valid(int n, int inputSeq[]) { vector < int > orig; for(int i=0;i<n;i++){ int nxx=nx(i,n); timesseen[inputSeq[i]]++; if(timesseen[inputSeq[i]]>1)return 0; if(inputSeq[i]<=n)orig.pb(inputSeq[i]); if(inputSeq[i]<=n&&inputSeq[nxx]<=n){ if(inputSeq[i]==n && inputSeq[nxx]!=1)return 0; else if(inputSeq[i]<n && inputSeq[nxx]!=inputSeq[i]+1)return 0; } } int startover=0; for(int i=0;i<orig.size();i++){ int nxx=nx(i,orig.size()); if(orig[i]<orig[nxx])continue; else if(startover==0)startover++; else if(startover==1)return 0; } return 1; } //---------------------- int replacement(int n, int gondolaSeq[], int replacementSeq[]) { int origl=-1; int broken=0; for(int i=0;i<n;i++){ int nxx=nx(i,n); if(gondolaSeq[i]<=n){ origl=i-(gondolaSeq[i]-1)+n; origl%=n; } umax(broken,gondolaSeq[i]-n); } if(origl==-1)origl=0; int repind[broken]; set < int > repcand; int orig[n]; for(int i=0;i<n;i++){ int ogon=(i+1)-origl+n; if(ogon>n)ogon%=n; orig[i]=ogon; if(gondolaSeq[i]>n){ repcand.insert(i); repind[gondolaSeq[i]-n-1]=i; } } for(int i=0;i<broken;i++){ if(!repind[i]){ replacementSeq[i]=orig[*repcand.begin()]; orig[*repcand.begin()]=i+n+1; } else{ replacementSeq[i]=orig[repind[i]]; orig[repind[i]]=i+n+1; repcand.erase(repcand.find(repind[i])); } } return broken; } //---------------------- int countReplacement(int n, int inputSeq[]) { return -3; }
Compilation message
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 0 ms | 3392 KB | Output is correct |
2 | Correct | 0 ms | 3392 KB | Output is correct |
3 | Correct | 0 ms | 3392 KB | Output is correct |
4 | Correct | 0 ms | 3392 KB | Output is correct |
5 | Correct | 0 ms | 3392 KB | Output is correct |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 0 ms | 3392 KB | Output is correct |
2 | Correct | 0 ms | 3392 KB | Output is correct |
3 | Correct | 0 ms | 3392 KB | Output is correct |
4 | Correct | 0 ms | 3392 KB | Output is correct |
5 | Correct | 0 ms | 3392 KB | Output is correct |
6 | Correct | 13 ms | 5396 KB | Output is correct |
7 | Correct | 9 ms | 3392 KB | Output is correct |
8 | Correct | 23 ms | 7236 KB | Output is correct |
9 | Correct | 6 ms | 4608 KB | Output is correct |
10 | Correct | 39 ms | 7764 KB | Output is correct |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 0 ms | 3392 KB | Output is correct |
2 | Correct | 0 ms | 3392 KB | Output is correct |
3 | Correct | 0 ms | 3392 KB | Output is correct |
4 | Correct | 0 ms | 3392 KB | Output is correct |
5 | Correct | 0 ms | 3392 KB | Output is correct |
6 | Correct | 16 ms | 5396 KB | Output is correct |
7 | Correct | 16 ms | 3392 KB | Output is correct |
8 | Correct | 33 ms | 7236 KB | Output is correct |
9 | Correct | 9 ms | 4608 KB | Output is correct |
10 | Correct | 46 ms | 7764 KB | Output is correct |
11 | Correct | 0 ms | 3392 KB | Output is correct |
12 | Correct | 0 ms | 3392 KB | Output is correct |
13 | Correct | 19 ms | 4580 KB | Output is correct |
14 | Correct | 0 ms | 3392 KB | Output is correct |
15 | Correct | 9 ms | 3392 KB | Output is correct |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 0 ms | 3392 KB | Output is correct |
2 | Correct | 0 ms | 3392 KB | Output is correct |
3 | Correct | 0 ms | 3392 KB | Output is correct |
4 | Correct | 0 ms | 3392 KB | Output is correct |
5 | Correct | 0 ms | 3392 KB | Output is correct |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Incorrect | 0 ms | 3392 KB | Integer -3 violates the range [0, 1000000008] |
2 | Halted | 0 ms | 0 KB | - |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Incorrect | 0 ms | 3392 KB | Integer -3 violates the range [0, 1000000008] |
2 | Halted | 0 ms | 0 KB | - |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Incorrect | 0 ms | 3392 KB | Integer -3 violates the range [0, 1000000008] |
2 | Halted | 0 ms | 0 KB | - |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Incorrect | 0 ms | 3392 KB | Integer -3 violates the range [0, 1000000008] |
2 | Halted | 0 ms | 0 KB | - |