Submission #1318882

#TimeUsernameProblemLanguageResultExecution timeMemory
1318882africGondola (IOI14_gondola)C++20
Compilation error
0 ms0 KiB
#include <bits/stdc++.h> //#include "gondola.h" using namespace std; const int MOD = 1000000009; long long multiply(long long a, long long b) { long long ans = ((a % MOD) * (b%MOD)) % MOD; return ans; } long long exponentiate(long long a, long long b) { long long ans = a; for (int i = 0; i < (b-1); i++) { ans = multiply(ans,b); } return ans; } int valid(int n, int inputSeq[]) { unordered_set<int> used; int current = -1; for (int i = 0; i < n; i++) { if (current==-1 && inputSeq[i] <= n) { current = inputSeq[i]; continue; } if (inputSeq[i] > n) { if (used.find(inputSeq[i])!=used.end()) { return 0; } used.insert(inputSeq[i]); if (current!=-1){current++;} } if (inputSeq[i] <= n) { if (current==n && inputSeq[i] != 1) { return 0; } if (current!=n&&inputSeq[i] != current+1) { return 0; } current = inputSeq[i]; } } return 1; } int countReplacement(int n, int inputSeq[]) { if (valid(n,inputSeq)==0) { return 0; } long long p = 1; int next = n+1; vector<int> replaced; for (int i = 0; i < n; i++) { if (inputSeq[i] > n) { replaced.push_back(inputSeq[i]); } } sort(replaced.begin(),replaced.end()); if (replaced.size()==n) { p = multiply(p,n); } if (!replaced.empty()){ for (int i = 0; i < replaced.size()-1; i++) { if (next != replaced[i]) { long long num_options = replaced.size()-i; long long gap = replaced[i]-next; p = multiply(p,(exponentiate(num_options,gap))); } next = replaced[i]+1; }} return p; }

Compilation message (stderr)

/usr/bin/ld: /tmp/ccgyczaf.o: in function `main':
grader.cpp:(.text.startup+0xae): undefined reference to `valid'
/usr/bin/ld: grader.cpp:(.text.startup+0xfc): undefined reference to `replacement'
/usr/bin/ld: grader.cpp:(.text.startup+0x18d): undefined reference to `countReplacement'
collect2: error: ld returned 1 exit status