Submission #590562

#TimeUsernameProblemLanguageResultExecution timeMemory
590562promaGondola (IOI14_gondola)C++17
55 / 100
17 ms2368 KiB
#include "gondola.h" #include <bits/stdc++.h> using namespace std; int valid(int n, int inputSeq[]) { vector <int> a(n); int flag = 0; for (int i = 0; i < n; i ++) { if (inputSeq[i] <= n) { a[i] = inputSeq[i]; for (int j = i + 1; j < n; j ++) { a[j] = (a[j-1] + 1) % n; if (!a[j]) a[j] = n; } if (i) { a[0] = (a[n-1] + 1) % n; if (!a[0]) a[0] = n; } for (int j = 1; j < i; j ++) { a[j] = (a[j-1] + 1) % n; if (!a[j]) a[j] = n; } flag = 1; break; } } vector <int> tmp(n); for (int i = 0; i < n; i ++) { tmp[i] = inputSeq[i]; } sort(tmp.begin(), tmp.end()); for (int i = 1; i < n; i ++) { if (tmp[i] == tmp[i-1]) return 0; } if (!flag) return 1; for (int i = 0; i < n; i ++) { if (inputSeq[i] <= n and inputSeq[i] != a[i]) return 0; } return 1; } //---------------------- int replacement(int n, int gondolaSeq[], int replacementSeq[]) { vector <int> a(n); vector <pair <int, int>> p; int flag = 0; for (int i = 0; i < n; i ++) { if (gondolaSeq[i] <= n) { a[i] = gondolaSeq[i]; for (int j = i + 1; j < n; j ++) { a[j] = (a[j-1] + 1) % (n + 1); a[j] = max(1, a[j]); } if (i) { a[0] = (a[n-1] + 1) % (n + 1); a[0] = max(1, a[0]); } for (int j = 1; j < i; j ++) { a[j] = (a[j-1] + 1) % (n + 1); a[j] = max(1, a[j]); } flag = 1; break; } } if (!flag) { for (int i = 0; i < n; i ++) { a[i] = i + 1; } } for (int i = 0; i < n; i ++) { if (gondolaSeq[i] > n) p.push_back({gondolaSeq[i], a[i]}); } sort(p.begin(), p.end()); int last = n + 1, pos = 0; for (auto i: p) { replacementSeq[pos ++] = i.second; while (last < i.first) { replacementSeq[pos ++] = last ++; } last = i.first + 1; } return pos; } //---------------------- int countReplacement(int n, int inputSeq[]) { }

Compilation message (stderr)

gondola.cpp: In function 'int countReplacement(int, int*)':
gondola.cpp:99:1: warning: no return statement in function returning non-void [-Wreturn-type]
   99 | }
      | ^
#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...