| 10641 | 2024-04-07 16:28:26 | 111 | Kicsi billentyűzet | cpp17 | Time limit exceeded 30/100 | 1.577s | 5772 KiB |
#include<bits/stdc++.h>
using namespace std;
#define int long long
signed main(){
ios::sync_with_stdio(false);
cin.tie(nullptr);
int T;
cin>>T;
while(T--){
string S;
cin>>S;
int N=S.size();
S='0'+S;
for(char&c:S){
c-='0';
}
int tot=0;
for(int i=1;i<=N;i++){
tot+=abs(S[i]-S[i-1]);
}
auto calc=[&](int p)->int{
int cnt[10][10]{};
for(int i=p+1;i<=N;i++){
int s=min(S[i],S[i-1]);
int e=max(S[i],S[i-1]);
cnt[s][e]++;
}
int b=0;
for(int i=0;i<10;i++){
for(int j=i+1;j<10;j++){
int a=0;
for(int k=0;k<i;k++){
a+=(cnt[k][j]-cnt[k][i])*(j-i);
}
for(int k=j+1;k<10;k++){
a+=(cnt[i][k]-cnt[j][k])*(j-i);
}
for(int k=i+1;k<j;k++){
a+=(cnt[i][k]-cnt[k][j])*((k-i)-(j-k));
}
if(i==S[p]){
a+=abs(i-S[p-1]);
a-=abs(j-S[p-1]);
}
if(j==S[p]){
a+=abs(j-S[p-1]);
a-=abs(i-S[p-1]);
}
b=max(b,a);
}
}
return tot-b;
};
int ans=N*10;
for(int i=1;i<=N;i++){
ans=min(ans,calc(i));
}
cout<<ans<<'\n';
}
return 0;
}
| Subtask | Sum | Test | Verdict | Time | Memory | ||
|---|---|---|---|---|---|---|---|
| subtask1 | 0/0 | ||||||
| 1 | Accepted | 3ms | 1824 KiB | ||||
| 2 | Accepted | 3ms | 2056 KiB | ||||
| subtask2 | 0/30 | ||||||
| 3 | Accepted | 3ms | 2276 KiB | ||||
| 4 | Accepted | 68ms | 2768 KiB | ||||
| 5 | Accepted | 114ms | 2852 KiB | ||||
| 6 | Accepted | 158ms | 2968 KiB | ||||
| 7 | Time limit exceeded | 1.557s | 2332 KiB | ||||
| 8 | Time limit exceeded | 1.577s | 2968 KiB | ||||
| 9 | Time limit exceeded | 1.577s | 2972 KiB | ||||
| subtask3 | 30/30 | ||||||
| 10 | Accepted | 3ms | 3800 KiB | ||||
| 11 | Accepted | 3ms | 4028 KiB | ||||
| 12 | Accepted | 3ms | 4188 KiB | ||||
| 13 | Accepted | 4ms | 4212 KiB | ||||
| 14 | Accepted | 4ms | 4316 KiB | ||||
| subtask4 | 0/40 | ||||||
| 15 | Accepted | 28ms | 4424 KiB | ||||
| 16 | Accepted | 68ms | 4876 KiB | ||||
| 17 | Accepted | 264ms | 5208 KiB | ||||
| 18 | Accepted | 709ms | 5436 KiB | ||||
| 19 | Time limit exceeded | 1.565s | 4692 KiB | ||||
| 20 | Time limit exceeded | 1.565s | 4832 KiB | ||||
| 21 | Time limit exceeded | 1.562s | 5240 KiB | ||||
| 22 | Time limit exceeded | 1.574s | 5648 KiB | ||||
| 23 | Time limit exceeded | 1.56s | 5772 KiB | ||||