您的位置:首页 > 其它

NBUT 1455 Malphite (模拟水题)

2015-08-22 01:22 344 查看

[1455] Malphite

时间限制: 1000 ms 内存限制: 65535 K

问题描述

#pragma comprint(linker, "/STACK:1024000000,1024000000")
#include<cstdio>
#include<string>
#include<iostream>
#include<cstring>
#include<cmath>
#include<stack>
#include<queue>
#include<vector>
#include<map>
#include<stdlib.h>
#include<time.h>
#include<algorithm>
#define LL __int64
#define FIN freopen("in.txt","r",stdin)
using namespace std;
const int MAXN=10000+5;
struct node
{
int t,atk;
bool operator<(const node A)const
{
if(t==A.t) return atk>A.atk;
return t<A.t;
}
}a[MAXN];
int main()
{
//FIN;
int n,m;
while(scanf("%d %d",&n,&m)!=EOF)
{
for(int i=0;i<m;i++)
scanf("%d %d",&a[i].t,&a[i].atk);

sort(a,a+m);
//for(int i=0;i<m;i++) printf("%d %d\n",a[i].t,a[i].atk);
bool flag=false;
int pre=0;
int dun=n/10;
int h=n;

dun=dun-a[0].atk;
if(dun<=0) {h=h+dun;dun=0;}
pre=a[0].t;
if(h<=0){printf("I'm dead!\n");continue;}

for(int i=1;i<m;i++)
{
if(a[i].t-pre>=10) dun=n/10-a[i].atk;
else dun=dun-a[i].atk;

if(dun<=0) {h=h+dun;dun=0;}
pre=a[i].t;
if(h<=0) {flag=true;break;}
}
if(flag) printf("I'm dead!\n");
else printf("%d\n",h);
}
return 0;
}


View Code
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: