Submission #705821

#TimeUsernameProblemLanguageResultExecution timeMemory
705821penguin133Gondola (IOI14_gondola)C++17
Compilation error
0 ms0 KiB
#include <bits/stdc++.h> using namespace std; //#include "gondola.h" //#define int long long #define pi pair<int, int> #define pii pair<int, pi> #define fi first #define se second #ifdef _WIN32 #define getchar_unlocked _getchar_nolock #endif mt19937_64 rng(chrono::steady_clock::now().time_since_epoch().count()); int valid(int n, int inputSeq[]) { for(int i=1;i<n;i++){ if(inputSeq[i] - inputSeq[i-1] != 1 && (inputSeq[i-1] != n || inputSeq[i] != 1))return 0; } return 1; } //---------------------- int replacement(int n, int gondolaSeq[], int replacementSeq[]) { vector <pi> stuf; int rot = 0; for(int i=0;i<n;i++){ if(gondolaSeq[i] <= n)rot = gondolaSeq[i] - i - 1; } if(rot < 0)rot += n; for(int i=0;i<n;i++){ if(gondolaSeq[i] > n){ int tmp = i + rot + 1; if(tmp > n)tmp -= n; stuf.push_back({gondolaSeq[i], tmp}); } } sort(stuf.begin(), stuf.end()); int prv = n; int in = 0; for(auto [i, j] : stuf){ replacementSeq[in++] = j; prv++; for(int x = prv + 1; x <= i; x++)replacementSeq[in++] = x - 1; prv = i; } return in; } //---------------------- const long long mod = (int)1e9 + 9; long long expo(long long a, long long b){ long long ans = 1LL; while(b){ if(b&1ll)ans *= a, ans %= mod; a *= a, a %= mod; b >>= 1LL; } return ans; } int countReplacement(int n, int inputSeq[]) { vector <int> stuf; int rot = -1; for(int i=0;i<n;i++){ if(inputSeq[i] <= n){ int tmp = inputSeq[i] - i - 1; if(tmp < 0)tmp += n; if(rot == -1)rot = tmp; else if(rot != tmp)return 0; } } for(int i=0;i<n;i++){ if(inputSeq[i] > n)stuf.push_back(inputSeq[i]); } sort(stuf.begin(), stuf.end()); long long ans = 1, cur = n; for(int i=1;i<(int)stuf.size();i++)if(stuf[i] == stuf[i-1])return 0; for(int i=0;i<(int)stuf.size();i++){ ans *= expo((int)stuf.size() - i, stuf[i] - cur - 1); ans %= mod; cur = stuf[i]; } return ans; }

Compilation message (stderr)

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