- 和为k的连续区间
答案
- @ 2026-7-6 18:33:10
#include<bits/stdc++.h>
using namespace std;
map<int,int> mp;
int n,k,x;
int main() {
cin>>n>>k;
for(int i=1; i<=n; i++) {
cin>>x;
mp[i]=mp[i-1]+x;
}
for(int i=1; i<=n; i++) {
for(int j=i; j<=n; j++) {
if(mp[j]-mp[i-1]==k) {
cout<<i<<" "<<j<<endl;
return 0;
}
}
}
cout<<"No Solution"<<endl;
return 0;
}
1 条评论
-
-
#include<bits/stdc++.h> using namespace std; map<int,int> mp; int n,k,x; int main() { cin>>n>>k; for(int i=1; i<=n; i++) { cin>>x; mp[i]=mp[i-1]+x; } for(int i=1; i<=n; i++) { for(int j=i; j<=n; j++) { if(mp[j]-mp[i-1]==k) { cout<<i<<" "<<j<<endl; return 0; } } } cout<<"No Solution"<<endl; return 0; }
- 1
信息
- ID
- 1515
- 时间
- ms
- 内存
- MiB
- 难度
- 2
- 标签
- 递交数
- 98
- 已通过
- 35
- 上传者