http://119.23.35.203/oj/contest/196/problems/2
这个题目涉及到算法——尺取法,贴一篇神犇关于尺取法的博文
尺取法就像是在数列上放一条蜷着身体的毛毛虫,
当满足条件时取值区间(毛毛虫)的l指针和r指针发生改变,就像一条在蠕动的毛毛虫一样,所以我觉得叫毛毛虫爬法才更形象(雾)
这个题目的做法就是先求各项的前缀和,然后对前缀和进行排序,使用尺取法对经过排序的前缀和数列取值,直到r<=n为止。
(r为尺取法所用到的尾指针,n为前缀和数列的长度)
#include<cstdio>
#include<iostream>
#include<cmath>
#include<algorithm>
using namespace std;
const int N=100000
int n,q,a[N+10],tot[N+10],jud,l,r,ans,min;
int main()
{
scanf("%d %d",&n,&q);
for(int i=1;i<=n;i++)
scanf("%d",&a[i]);
tot[i]=tot[i-1]+a[i];
}
sort(tot+1,tot+n+1);
scanf("%d",&jud);
while(r<=n)
{
}
return 0;
}
待施工完毕