Submission #103431

#TimeUsernameProblemLanguageResultExecution timeMemory
103431wilwxkThree Friends (BOI14_friends)C++11
0 / 100
23 ms4380 KiB
#include <bits/stdc++.h> using namespace std; const int MAXN=2e6+5; char v[MAXN]; int cont[30], cont2[30]; int n, igual; int main() { scanf("%d", &n); scanf(" %s", v); if(n&1==0) { printf("NOT POSSIBLE\n"); return 0; } for(int i=0; i<n; i++) cont2[v[i]-'A']++; for(int i=0; i<30; i++) if(cont[i]==cont2[i]) igual++; int resp=-1; for(int i=0; i<n; i++) { if(cont[v[i]-'A']==cont2[v[i]-'A']) igual--; if(i!=0&&cont[v[i-1]-'A']==cont2[v[i-1]-'A']) igual--; cont2[v[i]-'A']--; if(i!=0) cont[v[i-1]-'A']++; if(cont[v[i]-'A']==cont2[v[i]-'A']) igual++; if(i!=0&&cont[v[i-1]-'A']==cont2[v[i-1]-'A']) igual++; // printf("i: %d\n", igual); if(igual>=29) { // printf("%d serve\n", i); if(resp!=-1) { printf("NOT UNIQUE\n"); return 0; } resp=i; } } if(resp==-1) printf("NOT POSSIBLE\n"); else { if(resp<=n/2) { for(int i=(n+1)/2; i<n; i++) printf("%c", v[i]); } else { for(int i=0; i<n/2; i++) printf("%c", v[i]); } } }

Compilation message (stderr)

friends.cpp: In function 'int main()':
friends.cpp:14:8: warning: suggest parentheses around comparison in operand of '&' [-Wparentheses]
  if(n&1==0) {
       ~^~~
friends.cpp:11:7: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
  scanf("%d", &n);
  ~~~~~^~~~~~~~~~
friends.cpp:12:7: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
  scanf(" %s", v);
  ~~~~~^~~~~~~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...