记录编号 256978 评测结果 WWAAWTWTWA
题目名称 [USACO Mar07] 月度花费 最终得分 30
用户昵称 GravatarAntiLeaf 是否通过 未通过
代码语言 C++ 运行时间 2.002 s
提交时间 2016-05-01 21:29:14 内存使用 0.32 MiB
显示代码纯文本
#include<cstdio>
#include<cstring>
#include<algorithm>
#include<queue>
using namespace std;
const int maxn=100010;
namespace mine{
	int __c,__x,__a[110],__i,__j;
	bool __neg;
	inline int getint(){
		__x=__neg=0;
		do __c=getchar();while(__c==' '||__c=='\n'||__c=='\r'||__c=='\t');
		if(__c=='-'){
			__neg=true;
			__c=getchar();
		}
		for(;__c>='0'&&__c<='9';__c=getchar())__x=(__x<<1)+(__x<<3)+(__c^48);
		if(__neg)return -__x;
		return __x;
	}
	inline void putint(int __x){
		__neg=__x<0;
		if(__neg)__x=-__x;
		__i=0;
		do{
			__a[__i++]=__x%10+48;
			__x/=10;
		}while(__x);
		if(__neg)putchar('-');
		for(__j=__i-1;__j>=0;__j--)putchar(__a[__j]);
	}
}
using namespace mine;
priority_queue<int>q;
int MAIN();
int haha=MAIN();
int n,m,a[maxn],b[maxn],ans,temp,l,r;
int main(){;}
inline int MAIN(){
#define COGS
#ifdef COGS
	freopen("expense.in","r",stdin);
	freopen("expense.out","w",stdout);
#endif
	n=getint();
	m=getint();
	for(int i=1;i<=n;i++)a[i]=getint();
	memcpy(b,a,sizeof(int)*(n+5));
	sort(b+1,b+1+n);
	for(l=1,r=n;l!=r;){
		ans=(l+r)>>1;
		temp=0;
		for(int i=1;i<=m;i++)if(a[i]>b[ans])temp++;
		if(temp<m){
			r=ans;
			ans=(l+ans)>>1;
		}
		else{
			l=ans;
			ans=(ans+r)>>1;
		}
	}
	for(int i=1;i<=n-m+1;i++){
		temp=0;
		for(int j=i;j<i+ans;j++)temp+=a[j];
		q.push(temp);
	}
	putint(q.top());
	return 0;
}