Submission #1358931
Source Code Expand
#include <bits/stdc++.h> using namespace std; typedef long long lint; typedef pair<int, int> pi; const int mod = 1e9 + 7; int rev[1000005], sfx[1000005]; char str[1000005]; int n; void solve(){ scanf("%d",&n); for(int i=0; i<n; i++){ scanf("%d",&sfx[i]); sfx[i]--; } memset(str, 0, sizeof(str)); rev[n] = -1; str[sfx[0]] = 'A'; for(int i=1; i<n; i++){ int p1 = sfx[i-1] + 1; int p2 = sfx[i] + 1; if(rev[p1] < rev[p2]){ str[sfx[i]] = str[sfx[i-1]]; } else{ str[sfx[i]] = str[sfx[i-1]] + 1; if(str[sfx[i]] > 'Z'){ puts("-1"); return; } } } cout << str << endl; }
Submission Info
Submission Time | |
---|---|
Task | D - suffix array |
User | koosaga |
Language | C++14 (GCC 5.4.1) |
Score | 0 |
Code Size | 639 Byte |
Status | CE |
Compile Error
./Main.cpp: In function ‘void solve()’: ./Main.cpp:12:16: warning: ignoring return value of ‘int scanf(const char*, ...)’, declared with attribute warn_unused_result [-Wunused-result] scanf("%d",&n); ^ ./Main.cpp:14:22: warning: ignoring return value of ‘int scanf(const char*, ...)’, declared with attribute warn_unused_result [-Wunused-result] scanf("%d",&sfx[i]); ^ /usr/bin/ld: /usr/lib/debug/usr/lib/x86_64-linux-gnu/crt1.o(.debug_info): relocation 0 has invalid symbol index 11 /usr/bin/ld: /usr/lib/debug/usr/lib/x86_64-linux-gnu/crt1.o(.debug_info): relocation 1 has invalid symbol index 12 /usr/bin/ld: /usr/lib/debug/usr/lib/x86_64-linux-gnu/crt1.o(.debug_info): relocation 2 has invalid symbol index 2 /usr/bin/ld: /usr/lib/debug/usr/lib/x86_64-linux-gnu/crt1.o(.debug_info): relocation 3 has invalid symbol index 2 /usr/bin/ld: /usr/lib/debug/usr/lib/x86_64-linux-gnu/crt1.o(.debug_info): relocation 4 has invalid symbol index 11 /usr/bin/ld: /usr/lib/debug/usr/lib/x...