제출 #932739

#제출 시각아이디문제언어결과실행 시간메모리
932739vjudge1곤돌라 (IOI14_gondola)C++17
컴파일 에러
0 ms0 KiB
#include<bits/stdc++.h> #pragma GCC optimize("Ofast") using namespace std; #define F first #define S second #define ll long long // #define int ll #define pb push_back #define sz(s) (int)s.size() #define pii pair<int,int> #define all(v) v.begin(),v.end() #define mem(a,i) memset(a,i,sizeof(a)) #define in insert #define lb lower_bound #define ub upper_bound #define y1 yy #define ppb pop_back #define ull unsigned ll const int MAX=3e6+55; const int inf=1e9; const int N=2e5; const int C=331; const int C1=431; const int mod=1e9+9; const int mod1=1e9+9; #include "gondola.h" int pos[MAX]; int valid(int n, int a[]) { int mn=0; for(int i=0;i<n;i++){ if(a[i]<a[mn])mn=i; // pos[a[i]]=i; } vector<int> v; for(int i=mn;i<n;i++){ if(a[i]<=n){ v.pb(a[i]); pos[a[i]]=i-mn; } } for(int i=0;i<mn;i++){ if(a[i]<=n){ v.pb(a[i]); pos[a[i]]=n-mn+i; } } for(int i=1;i<sz(v);i++){ if(v[i]<=v[i-1]||v[i]-v[i-1]!=pos[v[i]]-pos[v[i-1]])return 0; } sort(a,a+n); for(int i=1;i<n;i++){ if(a[i]==a[i-1])return 0; } return 1; } int replacement(int n, int gondolaSeq[], int replacementSeq[]) { return -2; } //---------------------- ll ans=1; int countReplacement(int n, int a[]) { if(!valid(n,a))return 0; vector<int> v; for(int i=0;i<n;i++){ if(a[i]>n){ v.pb(a[i]); } } sort(all(v)); int r=n+1; for(int i=0;i<sz(v);i++){ while(r<v[i]){ ans=ans*(sz(v)-i)%mod; r++; } } return ans; } int gondolaSequence[100001]; int replacementSequence[250001]; int main() { int i, n, tag; int nr; assert(scanf("%d", &tag)==1); assert(scanf("%d", &n)==1); for(i=0;i< n;i++) assert( scanf("%d", &gondolaSequence[i]) ==1); switch (tag){ case 1: case 2: case 3: printf("%d\n", valid(n, gondolaSequence)); break; case 4: case 5: case 6: nr = replacement(n, gondolaSequence, replacementSequence); printf("%d ", nr); if (nr > 0) { for (i=0; i<nr-1; i++) printf("%d ", replacementSequence[i]); printf("%d\n", replacementSequence[nr-1]); } else printf("\n"); break; case 7: case 8: case 9: case 10: printf("%d\n", countReplacement(n, gondolaSequence)); break; } return 0; }

컴파일 시 표준 에러 (stderr) 메시지

/usr/bin/ld: /tmp/ccR11IYn.o: in function `main':
grader.cpp:(.text.startup+0x0): multiple definition of `main'; /tmp/ccqb1GUp.o:gondola.cpp:(.text.startup+0x0): first defined here
/usr/bin/ld: /tmp/ccR11IYn.o:(.bss+0xf4260): multiple definition of `gondolaSequence'; /tmp/ccqb1GUp.o:(.bss+0xf4260): first defined here
/usr/bin/ld: /tmp/ccR11IYn.o:(.bss+0x0): multiple definition of `replacementSequence'; /tmp/ccqb1GUp.o:(.bss+0x0): first defined here
collect2: error: ld returned 1 exit status