题意:

n个小朋友去拔牙 每个小朋友在拔牙的时候会哭 哭声是vi分贝

距离门口vi远的小朋友听到了哭声会害怕 他们的勇气值p会减少d

如果勇气值p小于等于零 他们就会在门外哭并立即离开拔牙队列(回家找妈妈……)

这个哭声门外所有的小朋友都能听到 所以这个哭声会同时减少所有小朋友的勇气值

问最后有多少小朋友可以拔完牙

思路:

就是模拟一下这个过程

好像后面的小朋友哭了对前面的小朋友没有影响

WA了一次是因为结构体里没用long long……

 #include<stdio.h>
#include<iostream>
#include<algorithm>
#include<math.h>
#include<string.h>
#include<string>
#include<map>
#include<set>
#include<vector>
#include<queue>
#define M(a,b) memset(a,b,sizeof(a))
using namespace std;
typedef long long ll;
struct child{
ll vi,d,p;
}child[];
int cnt=,ans[];
int main(){
int n;
scanf("%d",&n);
for(int i=;i<=n;i++)
scanf("%I64d%I64d%I64d",&child[i].vi,&child[i].d,&child[i].p);
for(int i=;i<=n;i++){
if(child[i].p<) continue;
ans[cnt++]=i;
ll v=child[i].vi,cry=;
for(int j=i+;j<=n;j++){
if(child[j].p<) continue;
child[j].p-=v+cry;
v--;
if(v<) v=;
if(child[j].p<) cry+=child[j].d;
}
}
printf("%d\n",cnt);
for(int i=;i<cnt;i++)
printf("%d%c",ans[i],i==cnt-?'\n':' ');
return ;
}
/* 5
4 2 2
4 1 2
5 2 4
3 3 5
5 1 2 5
4 5 1
5 3 9
4 1 2
2 1 8
4 1 9 */

最新文章

  1. 迷茫的it男,我该何去何从
  2. python 集合、函数和文件操作
  3. 迭代器和for-of
  4. CSS选择器及其优先级
  5. 疑难杂症:NoSuchMethodError: com.opensymphony.xwork2.util.finder.UrlSet.includeClassesUrl(Lcom/opensymphony/xwork2/util/finder/ClassLoaderInterface;)
  6. 3.Spring-用反射模拟IoC
  7. MySQL批量更新死锁案例分析--转载
  8. (一)CSS3动画应用 - CSS3 实现 侧边栏展开收起
  9. linux开启mysql远程登录
  10. reference to &#39;map&#39; is ambiguous|
  11. angular input 为file on-change 无效
  12. Python基础学习之Python主要的数据分析工具总结
  13. mlsql 基本操作
  14. cp命令覆盖文件时不用按Y来确认的方法
  15. npm 更换阿里镜像
  16. 求不小于N且二进制串包含K个1的最小的数字
  17. bzoj 3119: Book
  18. hdfs源码分析第二弹
  19. svm和svr区别--摘自其它博客
  20. 20162307 实验三 敏捷开发与XP实践

热门文章

  1. ios开发设置不同字体
  2. 【Time系列四】查询各月份的日历
  3. iOS7之后经过滑动返回导航栏隐藏和显示带来的坑(转载)
  4. 自定义dialog自动弹出软键盘
  5. 【POJ2186】受牛仰慕的牛
  6. [河南省ACM省赛-第三届] AMAZING AUCTION (nyoj 251)
  7. ubuntu 安装Matlab 解决显示中文乱码
  8. SharePoint:备份和还原
  9. 《JavaScript DOM编程艺术》读书笔记
  10. Mssql 行转列