Submission #701935

#TimeUsernameProblemLanguageResultExecution timeMemory
701935PCTprobabilityGondola (IOI14_gondola)C++17
20 / 100
28 ms4556 KiB
#include <bits/stdc++.h> #include "gondola.h" using namespace std; using ll = long long; int valid(int n, int inputSeq[]){ for(int i=0;i<n;i++) inputSeq[i]--; set<int> s; for(int i=0;i<n;i++) s.insert(inputSeq[i]); if(s.size()!=n) return 0; for(int i=0;i<n;i++){ if(inputSeq[i]<n){ for(int j=0;j<n;j++){ if(inputSeq[(i+j)%n]<n&&inputSeq[(i+j)%n]!=(inputSeq[i]+j)%n) return 0; } return 1; } } return 1; } int replacement(int n, int gondolaSeq[], int replacementSeq[]){ for(int i=0;i<n;i++) gondolaSeq[i]--; int m=0; for(int i=0;i<n;i++) m=max(m,gondolaSeq[i]); if(m==n-1){ return 0; } int m2=500000; for(int i=0;i<n;i++) m2=min(m2,gondolaSeq[i]); if(m2>=n){ vector<int> rev(500000,-1); for(int i=0;i<n;i++) rev[gondolaSeq[i]]=i; set<int> idx; for(int i=0;i<n;i++){ if(gondolaSeq[i]>=n) idx.insert(i); } for(int i=n;i<=m;i++){ if(rev[i]==-1){ int id=(*idx.begin()); replacementSeq[i-n]=gondolaSeq[id]+1; gondolaSeq[id]=i; } else{ replacementSeq[i-n]=gondolaSeq[rev[i]]+1; idx.erase(rev[i]); gondolaSeq[rev[i]]=i; } } return m-n; } return 0; } int countReplacement(int n, int inputSeq[]){ return 0; }

Compilation message (stderr)

gondola.cpp: In function 'int valid(int, int*)':
gondola.cpp:9:14: warning: comparison of integer expressions of different signedness: 'std::set<int>::size_type' {aka 'long unsigned int'} and 'int' [-Wsign-compare]
    9 |   if(s.size()!=n) 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...
#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...