제출 #161080

#제출 시각아이디문제언어결과실행 시간메모리
161080InfiniteJest곤돌라 (IOI14_gondola)C++14
45 / 100
23 ms2528 KiB
#include <iostream> #include <fstream> #include <vector> #include <queue> #include <algorithm> #include <math.h> #include "gondola.h" #define pb push_back #define mp make_pair #define fi first #define se second using namespace std; ifstream in("input.txt"); ofstream out("output.txt"); int valid(int n, int inputSeq[]){ int ans=1; bool pres[300001]; for(int i=0;i<n;i++){ if(inputSeq[i]<=n){ int val=inputSeq[i]; for(int y=0;y<n;y++){ if((inputSeq[(i+y)%n]<=n&&inputSeq[(i+y)%n]!=val)||pres[inputSeq[(i+y)%n]]){ ans=0; break; } val++; if(val==n+1)val=1; pres[inputSeq[(i+y)%n]]=1; } break; } } return ans; } int replacement(int n, int gondolaSeq[], int replacementSeq[]){ bool flag=0; vector<pair<int,int> > p; int ind=-1,val; for(int i=0;i<n;i++){ if(gondolaSeq[i]<=n){ ind=i; val=gondolaSeq[i]; } else flag=1; } if(!flag)return 0; if(ind==-1){ ind=0; val=1; } for(int i=0;i<n;i++){ if(gondolaSeq[(ind+i)%n]>n){ flag=1; p.pb(mp(gondolaSeq[(ind+i)%n],val)); //cout<<gondolaSeq[(ind+i)%n]; } val++; if(val==n+1)val=1; } sort(p.begin(),p.end()); int cur=n+1; int indtot=0; for(int i=0;i<p.size();i++){ replacementSeq[indtot++]=p[i].se; for(;cur<p[i].fi;cur++)replacementSeq[indtot++]=cur; cur=p[i].fi+1; } //for(int i=0;i<indtot;i++)cout<<replacementSeq[i]<<" "; return indtot; } int countReplacement(int n, int inputSeq[]){ return 0; }

컴파일 시 표준 에러 (stderr) 메시지

gondola.cpp: In function 'int replacement(int, int*, int*)':
gondola.cpp:67:18: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
     for(int i=0;i<p.size();i++){
                 ~^~~~~~~~~
gondola.cpp: In function 'int valid(int, int*)':
gondola.cpp:24:82: warning: 'pres[<unknown>]' may be used uninitialized in this function [-Wmaybe-uninitialized]
         if((inputSeq[(i+y)%n]<=n&&inputSeq[(i+y)%n]!=val)||pres[inputSeq[(i+y)%n]]){
                                                            ~~~~~~~~~~~~~~~~~~~~~~^
gondola.cpp: In function 'int replacement(int, int*, int*)':
gondola.cpp:61:10: warning: 'val' may be used uninitialized in this function [-Wmaybe-uninitialized]
       val++;
       ~~~^~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...