为什么只给60分?4个WA!我用的不是尺取法吗?求调。
查看原帖
为什么只给60分?4个WA!我用的不是尺取法吗?求调。
606787
laisite楼主2022/12/13 11:39
#include<bits/stdc++.h>
using namespace std;
int n,m,xi,xj;
unsigned long long a[1000010]={0},mm=0;
int main(){
    cin>>n>>m;
    for(int i=1;i<=n;i++){
        cin>>a[i];
        a[i]+=a[i-1];
    }
    int i,j;
    i=j=1;
    while(j<=n&&i<=j){
        if(a[j]-a[i-1]>m)i++;
        if(a[j]-a[i-1]<=m){
          if(mm<a[j]-a[i-1]){
            mm=a[j]-a[i-1];xi=i;xj=j;
          }
          j++;
        }
    }
    cout<<xi<<" "<<xj<<" "<<mm;
    return 0;
}
2022/12/13 11:39
加载中...