Chuyện là em có lấy bài này trên mạng về làm thử, khó hiểu cái là code của em chạy chay tất cả test của bài này rất là ngon lành.
Có thể thấy ví dụ là ảnh dưới em chạy test a.size() = 2*10^6 và chạy rất ngon lành
Nhưng em không hiểu vì sao Themis chạy thì lại fail hết. Em đã test bằng themis của máy khác và cũng bị lỗi tương tự vậy.
dạ đây là code của em ạ
#include <bits/stdc++.h>
using namespace std;
const long long N = 2000005;
string a;
string b;
long long countt = 0;
long long cc[N][30] = {0};
long long maxx = 0;
int main() {
freopen("CONVSTR.inp", "r", stdin);
freopen("CONVSTR.out", "w", stdout);
cin >> b >> a;
maxx = (long long)a[0]-97;
cc[0][(int)a[0]-97]++;
for(int i = 1; i!= a.size(); i++){
maxx = max(maxx, (long long)a[i]-97);
cc[i][(int)a[i]-97] = cc[i-1][(int)a[i]-97] + 1;
for(int j = 0 ; j!= maxx +1; j++){
if(j == (int)a[i]-97) continue;
cc[i][j] = cc[i-1][j];
}
}
countt += cc[a.size()-b.size()][(int)b[0]-97];
for(int i = 1; i!= b.size(); i++) countt += cc[a.size()-b.size()+i][(int)b[i]-97] - cc[i-1][(int)b[i]-97];
cout << countt;
return 0;
}
Đây là link download file test ạ: CONVSTR - Google Drive
Em mong mọi người giúp ạ. Em khá sợ lở đi thi mà gặp trường hợp này chắc chết luôn quá @@.