# | TimeUTC-0 | Username | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
30106 | tlwpdus | Difference (POI11_roz) | C++11 | 316 ms | 6900 KiB |
This submission is migrated from previous version of oj.uz, which used different machine for grading. This submission may have different result if resubmitted.
#include <bits/stdc++.h>
using namespace std;
int A[1000010];
int D[26];
int n, res;
char str[1000100];
int main() {
int i, j, a;
scanf("%d",&n);
scanf("%s",str);
if (n==1) {
printf("0\n");
return 0;
}
for (i=0;i<n;i++) str[i]-='a';
for (a=0;a<26;a++) {
for (i=0;i<26;i++) D[i] = 0;
A[n-1] = 0;
for (i=n-2;i>=0;i--) {
if (str[i+1]==a) for (j=0;j<26;j++) D[j] = max(D[j]+1,1);
else D[str[i+1]] = max(D[str[i+1]]-1,-1);
A[i] = D[str[i]];
if (str[i]!=a) res = max(res,D[str[i]]-1);
}
for (i=0;i<26;i++) D[i] = 0;
if (str[0]!=a) res = max(res,A[0]-1);
Compilation message (stderr)
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |