Submission #878380

#TimeUsernameProblemLanguageResultExecution timeMemory
878380JakobZorzGondola (IOI14_gondola)C++14
25 / 100
11 ms4188 KiB
#include"gondola.h" #include<iostream> #include<unordered_set> using namespace std; int valid(int n,int inputSeq[]){ unordered_set<int>s(inputSeq,inputSeq+n); if(s.size()!=n) return 0; int curr=-1; for(int i=0;i<2*n;i++){ if(curr==-1&&inputSeq[i%n]<=n) curr=inputSeq[i%n]; if(inputSeq[i%n]<=n&&curr!=inputSeq[i%n]) return 0; curr++; if(curr==n+1) curr=1; } return 1; } //---------------------- int replacement(int n,int gondolaSeq[],int replacementSeq[]){ int len=0; int mx=0; for(int i=0;i<n;i++) mx=max(mx,gondolaSeq[i]); len=mx-n; for(int i=0;i<len;i++) replacementSeq[i]=0; if(len==0) return 0; int curr=-1; for(int i=0;i<2*n;i++){ if(curr==-1&&gondolaSeq[i%n]<=n) curr=gondolaSeq[i%n]; if(gondolaSeq[i%n]<mx&&gondolaSeq[i%n]>n){ replacementSeq[gondolaSeq[i%n]]=curr; } curr++; if(curr==n+1) curr=1; } curr=-1; for(int i=0;i<2*n;i++){ if(curr==-1&&gondolaSeq[i%n]<=n) curr=gondolaSeq[i%n]; if(gondolaSeq[i%n]==mx&&curr!=-1){ int prev=curr; for(int i=0;i<len;i++){ if(replacementSeq[i]==0){ replacementSeq[i]=curr; curr=i+n; } } } curr++; if(curr==n+1) curr=1; } return len; } //---------------------- int countReplacement(int n,int inputSeq[]){ return -3; }

Compilation message (stderr)

gondola.cpp: In function 'int valid(int, int*)':
gondola.cpp:8:16: warning: comparison of integer expressions of different signedness: 'std::unordered_set<int>::size_type' {aka 'long unsigned int'} and 'int' [-Wsign-compare]
    8 |     if(s.size()!=n)
      |        ~~~~~~~~^~~
gondola.cpp: In function 'int replacement(int, int*, int*)':
gondola.cpp:59:17: warning: unused variable 'prev' [-Wunused-variable]
   59 |             int prev=curr;
      |                 ^~~~
#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...