题目链接:https://vjudge.net/problem/CodeForces-191B

题意:过于繁琐,略

思路:真·神级贪心题

  首先我们可以想到的是,为了在k天内选到最靠前的城市,我们要想办法在前k-1天挑选尽可能贵的城市,为第k天奠定基础。

  先对前n-1个城市的举办活动价值排序,对前k大的求和得到sum,接下来:

  <1>sum>=0,则不论前k-1天选择多么贵的城市,第k天都无法找到一个城市花光政府的钱,那么只能选择最差的城市

  <2>sum<0,按序号由小到大判断该城市是否包含在sum中或者将sum的第一项替换为该城市后sum仍小于0,如果满足条件,则该城市则为最优解

代码如下:

 #include<cstdio>
#include<algorithm>
using namespace std;
int n,k,a[],val[];
long long b;
int main(){
scanf("%d%d%I64d",&n,&k,&b);
for(int i=;i<=n;i++){
scanf("%d",&a[i]);
val[i]=a[i];
}
sort(val+,val+n);
long long sum=b;
for(int i=n-;i>=n-k;i--)
sum-=val[i];
if(sum>=){
printf("%d",n);
}
else {
int ans=-;
for(int i=;i<=n;i++){
if(a[i]>=val[n-k]||sum+val[n-k]-a[i]<){
ans=i;
break;
}
}
printf("%d",ans);
}
return ;
}

最新文章

  1. Socket programing(make a chat software) summary 1:How to accsess LAN from WAN
  2. NOI2005 聪聪和可可
  3. 什么是 jsonp ?
  4. apache2.4 以上设定gzip压缩
  5. 『转载』C# winform 中dataGridView的重绘(进度条,虚线,单元格合并等)
  6. Moqui学习Day4
  7. DALSA Coreco - 图像处理软件(Sapera LT )
  8. freebsd镜像作用和vmware服务开启
  9. JavaScript探秘系列
  10. JqueryUI-1
  11. Windbg抓取程序崩溃的dmp文件的方法
  12. list集合怎么转化成一个javaBean对象,及常见的使用方法(全)
  13. Geode集群搭建
  14. squashfs文件系统
  15. 深度学习之 GAN 进行 mnist 图片的生成
  16. 图数据库-Neo4j使用
  17. hdu 2098 分拆素数和(素数)
  18. vue系列之过渡效果
  19. Python算法(一)冒泡排序
  20. SpringMVC Controller 单例 多例

热门文章

  1. Java 有状态和无状态对象的区别
  2. Concurrent初探 --- Atomic 无锁
  3. Python3 输入和输出(二)
  4. Tcl模块化
  5. ubuntu16.04安装matlab_R2018a/R2017a
  6. Mininet系列实验(二):Mininet可视化应用
  7. arcgis python 更新日期为随机数
  8. 获取用户当前位置信息的两种方法——H5、微信
  9. SOCKET_CONNECT_TIMEOUT is the timeout for the connection to be established and SOCKET_TIMEOUT
  10. tornado异步请求响应速度的实例测试