题解 P1190 【接水问题】
Summer_Sun · · 题解
身为编C++的人,则么能不知道STL模板库呢??
将在接水的m同学按需要水的量进行排序,然后再让其他同学替换最早接完水的同学。
我也无聊得不行了,就用了multiset:
#include<bits/stdc++.h>
using namespace std;
int main(){
int w[10000];
int n,m;
int ans[100];
multiset<int> s;
multiset<int>::iterator it;
multiset<int>::reverse_iterator rit;
//freopen("water.in","r",stdin);
//freopen("water.out","w",stdout);
cin>>n>>m;
int i;
for ( i=0;i<n;i++ ) {
cin>>w[i];
}
for ( i=0;i<m;i++ ) {
s.insert(w[i]);
ans[i]=w[i];
}
for ( i=m;i<n;i++ ) {
int a=*s.begin();
s.erase( s.begin() );
s.insert( a+w[i] );
}
cout<<*s.rbegin()<<endl;
//fclose(stdin);
//fclose(stdout);
return 0;
}