c题这样写为什么不对,显示段错误,过了14%
思路:按字典序排列完成后判断每个字符是否为前缀字符,记录下非前缀字母和后再减去最长串
#include<bits/stdc++.h>
using namespace std;
const int N=1e7;
string s[N];
int n,m;
int l,r;
int num=0;//总操作次数
int lengh=0;//最长字符串长度
int main()
{
cin>>n>>m;
for(int i=1;i<=n;i++)cin>>s[i];
cin>>l>>r;
sort(s+1,s+1+n);
for(int i=1;i<=n;i++)
{
for(int j=0;j<size(s[i]);j++)if(s[i][j]!=s[i-1][j]||j>size(s[i-1]))num++;
}
for(int i=1;i<=n;i++)
{
int x=size(s[i]);
lengh=max(lengh,x);
}
cout<<num*2-lengh;
return 0;
}