Submission #69987

#TimeUsernameProblemLanguageResultExecution timeMemory
69987octopusesparentrises (BOI18_parentrises)C++17
0 / 100
3 ms536 KiB
//Giorgi Kldiashvili #include <bits/stdc++.h> #define ll long long #define fr first #define sc second #define M 1000000007ll using namespace std; const int N = 1000020; int n, k; int used[N]; bool f[N]; char ch[N]; void go1() { vector < int > c; c.clear(); scanf("%s", &ch); n = strlen(ch); for(int i = 0; i < n; ++ i) used[i] = 0, f[i] = 0; if(ch[0] == ')' || ch[n - 1] == '(') { printf("impossible\n"); return; } int now = 1; for(int i = 1; i < n; ++ i) { if(ch[i] == ')' && ch[i] == ch[i - 1] && !(f[i - 1])) c.push_back(i - 1), f[i] = true; now += (ch[i] == ')')?-1:1; if(now < 0) { if(c.size() == 0) { printf("impossible\n"); return; } used[c.back()] = 1; used[c.back() + 1] = 2; c.pop_back(); now = 0; } } now = 1; c.clear(); for(int i = n - 1; i >= 0; -- i) f[i] = 0; for(int i = n - 2; i >= 0; -- i) { if(ch[i] == '(' && ch[i] == ch[i + 1] && !(f[i + 1])) c.push_back(i), f[i] = true; now += (ch[i] == '(')?-1:1; if(now < 0) { if(c.size() == 0) { printf("impossible\n"); return; } used[c.back()] = 1; used[c.back() + 1] = 2; c.pop_back(); now = 0; } } for(int i = 0; i < n; ++ i) { if(used[i] == 0) putchar('G'); if(used[i] == 1) putchar('R'); if(used[i] == 2) putchar('B'); } printf("\n"); } int sub, T; int main() { scanf("%d", &sub); scanf("%d\n", &T); if(sub == 1) { while(T --) go1(); } }

Compilation message (stderr)

parentrises.cpp: In function 'void go1()':
parentrises.cpp:22:18: warning: format '%s' expects argument of type 'char*', but argument 2 has type 'char (*)[1000020]' [-Wformat=]
   scanf("%s", &ch);
               ~~~^
parentrises.cpp:22:8: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
   scanf("%s", &ch);
   ~~~~~^~~~~~~~~~~
parentrises.cpp: In function 'int main()':
parentrises.cpp:84:8: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
   scanf("%d", &sub);
   ~~~~~^~~~~~~~~~~~
parentrises.cpp:85:8: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
   scanf("%d\n", &T);
   ~~~~~^~~~~~~~~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...