#include<iostream>
#include<vector>
#define INIFINTE 0x7fffffff
using namespace std;
vector<pair<int, int>> pay;
int main(){
freopen("1.in", "r", stdin);
int n, m;
scanf("%d%d", &n, &m);
int *a = new int[n];
int pt = 0;
int i, j, min = INIFINTE;
for (i = 0; i < n; i++)
scanf("%d", &a[i]);
int sum = 0;
i = j = 0;
sum = a[0];
while (i < n&&j < n){
if (sum >= m){
if (sum <= min){
if (sum < min){
pay.clear();
min = sum;
}
pay.push_back(make_pair(i, j));
}
}
if (sum == m)
sum = sum - a[i++] + a[++j];
else if (sum < m)
sum += a[++j];
else if (sum>m)
sum -= a[i++];
}
for (i = 0; i < pay.size(); i++)
printf("%d-%d\n", pay[i].first + 1, pay[i].second + 1);
return 0;
}
pat 1044
最新推荐文章于 2022-09-12 20:16:28 发布