Submission #799030

#TimeUsernameProblemLanguageResultExecution timeMemory
799030FatihSolakGondola (IOI14_gondola)C++17
55 / 100
23 ms5184 KiB
#include "gondola.h" #include <bits/stdc++.h> using namespace std; vector<int> get(int n,int inputSeq[]){ int pos = 0; for(int i = 0;i<n;i++){ if(inputSeq[i] <= n){ pos = (i + 1 - inputSeq[i] + n)%n; } } vector<int> ret; for(int i = pos;i < n;i++){ ret.push_back(inputSeq[i]); } for(int i = 0;i<pos;i++){ ret.push_back(inputSeq[i]); } return ret; } int valid(int n, int inputSeq[]){ vector<int> inp = get(n,inputSeq); set<int> s; for(int i = 0;i<n;i++){ s.insert(inp[i]); if(inp[i] <= n && inp[i] != i + 1){ return 0; } } if(s.size() != n) return 0; return 1; } //---------------------- int replacement(int n, int gondolaSeq[], int replacementSeq[]){ vector<int> inp = get(n,gondolaSeq); map<int,int> mp; int maxi = 0; for(int i = 0;i<n;i++){ if(inp[i] > n){ mp[inp[i]] = i; if(inp[maxi] < inp[i]) maxi = i; } } int l = 0; int tmp = inp[maxi]; inp[maxi] = maxi + 1; for(int i = n + 1;i <= tmp;i++){ if(mp.count(i) && mp[i] != maxi){ replacementSeq[l++] = mp[i] + 1; } else{ replacementSeq[l++] = inp[maxi]; inp[maxi] = i; } } return l; } //---------------------- int countReplacement(int n, int inputSeq[]){ return -3; }

Compilation message (stderr)

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