Submission #1041171

#TimeUsernameProblemLanguageResultExecution timeMemory
1041171DeathIsAweGondola (IOI14_gondola)C++14
25 / 100
12 ms5740 KiB
#include "gondola.h" #include <bits/stdc++.h> using namespace std; #define ll long long int valid(int n, int inputSeq[]) { unordered_set<int> dupcheck; for (int i=0;i<n;i++) { dupcheck.insert(inputSeq[i]); } if (dupcheck.size() < n) { return 0; } int start = -1, temp; for (int i=0;i<n;i++) { if (inputSeq[i] <= n) { start = i; break; } } if (start == -1) { return 1; } else { for (int i=start+1;i<n;i++) { if (inputSeq[i] <= n) { temp = (inputSeq[i] - inputSeq[start] + n) % n; if (temp != i - start) { return 0; } start = i; } } } return 1; } int replacement(int n, int gondolaSeq[], int replacementSeq[]) { int temp; for (int i=0;i<n;i++) { if (gondolaSeq[i] <= n) { temp = gondolaSeq[i] - i; break; } } //cout << temp << '\n'; vector<pair<int,int>> bruh; for (int i=0;i<n;i++) { if (gondolaSeq[i] > n) { bruh.push_back(make_pair(gondolaSeq[i], i)); } } sort(bruh.begin(), bruh.end()); int tracker = 0; for (pair<int,int> i: bruh) { replacementSeq[tracker++] = (i.second + temp + n) % n; while (tracker + n < i.first) { replacementSeq[tracker] = tracker + n; tracker++; } } return tracker; } int countReplacement(int n, int inputSeq[]) { return -3; }

Compilation message (stderr)

gondola.cpp: In function 'int valid(int, int*)':
gondola.cpp:11:23: warning: comparison of integer expressions of different signedness: 'std::unordered_set<int>::size_type' {aka 'long unsigned int'} and 'int' [-Wsign-compare]
   11 |   if (dupcheck.size() < n) {
      |       ~~~~~~~~~~~~~~~~^~~
gondola.cpp: In function 'int replacement(int, int*, int*)':
gondola.cpp:59:43: warning: 'temp' may be used uninitialized in this function [-Wmaybe-uninitialized]
   59 |     replacementSeq[tracker++] = (i.second + temp + n) % 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...