题意:跟题目一样,求和为k的连续区间。
题记:计算前缀和,然后枚举求出答案。
#include<iostream>
#include<cstring>
#include<algorithm>
#include<cstdio>
using namespace std;
typedef long long ll;
const int N=1e4+10;
//int num[10]={6,2,5,5,4,5,6,3,7,6};
ll a[N];
int main(){
ll n,k;
scanf("%lld%lld",&n,&k);
a[0]=0;
for(int i=1;i<=n;i++){
scanf("%lld",&a[i]);
a[i]=a[i-1]+a[i];
}
for(int i=0;i<=n;i++){
for(int j=i+1;j<=n;j++){
if(a[j]-a[i]==k){
cout<<i+1<<' '<<j<<endl;
return 0;
}
}
}
cout<<"No Solution"<<endl;
return 0;
}