为什么错?
查看原帖
为什么错?
1115541
dong0717楼主2024/6/30 10:41
#include<bits/stdc++.h>
using namespace std;
int a[500005];
int main(){
    int n;
    scanf("%d",&n);
    string s;
    cin>>s;
    int cnt=1;
    a[1]=1;
    for(int i=1;i<n;i++){
    	if(s[i]!=s[i-1])
    	    a[++cnt]++;
    	else
    	    a[cnt]++;
	}
	long long ans=0;
    for(int i=1;i<=cnt;i++){
    	if(a[i]==1){
    		long long sum=0;
            sum+=a[i-1]*a[i+1];
            if(a[i-1]!=0)
                sum+=a[i-1]-1;
            if(a[i+1]!=0)
                sum+=a[i+1]-1;
            ans+=sum;
         }
	}
	printf("%lld",ans);
}

为什么只有81分?哪个大佬帮孩子改一下?

2024/6/30 10:41
加载中...