Submission #696331

#TimeUsernameProblemLanguageResultExecution timeMemory
696331dongliu0426Difference (POI11_roz)C++17
50 / 100
1082 ms2560 KiB
#pragma GCC optimize("O3") #pragma GCC optimize("unroll-loops") #include <iostream> using namespace std; const int N = 1e6; int main() { int n; scanf("%d", &n); static char s[N]; scanf("%s", s); int ans = 0; for (int i = 0; i < 26; i++) for (int j = 0; j < 26; j++) { static int t[N + 1]; int m = 0; for (int k = 0; k < n; k++) if (s[k] == 'a' + i) t[++m] = +1; else if (s[k] == 'a' + j) t[++m] = -1; int p = 0, c = 0, d = 0, mn = n; for (int k = 1; k <= m; k++) { c += t[k]; ans = max(ans, c - mn); if (t[k] == -1) { for (int k_ = p; k_ < k; k_++) mn = min(mn, d += t[k_]); p = k; } } } printf("%d\n", ans); return 0; }

Compilation message (stderr)

roz.cpp: In function 'int main()':
roz.cpp:11:8: warning: ignoring return value of 'int scanf(const char*, ...)' declared with attribute 'warn_unused_result' [-Wunused-result]
   11 |   scanf("%d", &n);
      |   ~~~~~^~~~~~~~~~
roz.cpp:13:8: warning: ignoring return value of 'int scanf(const char*, ...)' declared with attribute 'warn_unused_result' [-Wunused-result]
   13 |   scanf("%s", s);
      |   ~~~~~^~~~~~~~~
#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...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...