# | 제출 시각 | 아이디 | 문제 | 언어 | 결과 | 실행 시간 | 메모리 |
---|---|---|---|---|---|---|---|
40289 | 2018-01-30T23:58:26 Z | IvanC | Difference (POI11_roz) | C++14 | 255 ms | 17260 KB |
#include <bits/stdc++.h> using namespace std; const int MAXN = 1e6+10; const int ALPHABET_SIZE = 26; vector<int> aparece[ALPHABET_SIZE]; int vetor[MAXN],soma[MAXN],N,resposta; int calc(int a,int b){return soma[b] - soma[a-1];} int main(){ scanf("%d",&N); for(int i = 1;i<=N;i++){ char c; scanf(" %c",&c); vetor[i] = c - 'a'; aparece[vetor[i]].push_back(i); } for(int letra = 0;letra<ALPHABET_SIZE;letra++){ for(int i = 1;i<=N;i++){ soma[i] = soma[i-1] + (vetor[i] == letra); } soma[N+1] = soma[N]; for(int outra = 0;outra < ALPHABET_SIZE;outra++){ if(outra == letra) continue; int minimo = 0; for(int i = 0;i<aparece[outra].size();i++){ int proxima = 0; if(i + 1 == aparece[outra].size()) proxima = N; else proxima = aparece[outra][i+1] - 1; int j = i + 1; resposta = max(resposta, calc(1,proxima) - j - minimo ); minimo = min(minimo, -j + calc(1,aparece[outra][i]) ); } } } printf("%d\n",resposta); return 0; }
Compilation message
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 0 ms | 9832 KB | Output is correct |
2 | Correct | 0 ms | 9832 KB | Output is correct |
3 | Correct | 0 ms | 9832 KB | Output is correct |
4 | Correct | 0 ms | 9832 KB | Output is correct |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 0 ms | 9832 KB | Output is correct |
2 | Correct | 0 ms | 9832 KB | Output is correct |
3 | Correct | 0 ms | 9832 KB | Output is correct |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 0 ms | 9832 KB | Output is correct |
2 | Correct | 0 ms | 9832 KB | Output is correct |
3 | Correct | 0 ms | 9832 KB | Output is correct |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 1 ms | 9832 KB | Output is correct |
2 | Correct | 0 ms | 9832 KB | Output is correct |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 2 ms | 9964 KB | Output is correct |
2 | Correct | 0 ms | 9832 KB | Output is correct |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 26 ms | 10240 KB | Output is correct |
2 | Correct | 0 ms | 9832 KB | Output is correct |
3 | Correct | 5 ms | 9964 KB | Output is correct |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 248 ms | 17260 KB | Output is correct |
2 | Correct | 0 ms | 9832 KB | Output is correct |
3 | Correct | 177 ms | 14408 KB | Output is correct |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 249 ms | 16908 KB | Output is correct |
2 | Correct | 198 ms | 16384 KB | Output is correct |
3 | Correct | 159 ms | 16612 KB | Output is correct |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 241 ms | 17256 KB | Output is correct |
2 | Correct | 191 ms | 17092 KB | Output is correct |
3 | Correct | 220 ms | 15064 KB | Output is correct |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 255 ms | 16856 KB | Output is correct |
2 | Correct | 203 ms | 15040 KB | Output is correct |
3 | Correct | 219 ms | 17128 KB | Output is correct |