设为首页 加入收藏

TOP

coderforces 507A 贪心简单
2015-07-20 17:24:08 来源: 作者: 【 】 浏览:1
Tags:coderforces 507A 贪心 简单

背景:比赛时明显小看了第一题的难度,就想的一心ac,结果wa了三次,!!!!!!比赛就乱了!!要稳住,多给时间看题!!!

思路:排序从最小的开始依次来减。但是要记录之前的位置,因为最终输出的是位置。我的记录方法是,把未排序之前的数组复制一份为sstr,对str排序之后,想要知道str中某个

#include
  
   
#include
   
     using namespace std; int main(void){ int n,k,str[105],ans[105],sstr[105]; while(scanf("%d",&n) != EOF){ scanf("%d",&k); for(int i = 0;i < n;i++) scanf("%d",&str[i]); for(int i = 0;i < n;i++) sstr[i] = str[i]; sort(str,str+n); int i = 0; for(int jj = n;jj > 0;jj--,i++){ if(k<=0) break; if(k-str[i]>=0){ for(int kk = 0;kk < n;kk++){ if(sstr[kk] == str[i]){ ans[i] = kk; sstr[kk]=0; break; } } k-=str[i]; }else break; } printf("%d\n",i); bool xx = false; for(int j = 0;j < i; j++){ if(j) printf(" "); printf("%d",ans[j]+1); xx = true; } if(xx) printf("\n"); } return 0; }
   
  


】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇Follow me---快速入门shell脚本编.. 下一篇HDU 2091 空心三角形

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容:

·求navicat for mysql (2025-12-26 13:21:33)
·有哪位大哥推荐一下m (2025-12-26 13:21:30)
·MySQL下载与安装教程 (2025-12-26 13:21:26)
·Linux_百度百科 (2025-12-26 12:51:52)
·Shell 流程控制 | 菜 (2025-12-26 12:51:49)