洛谷 P1916 小书童——蚂蚁大战

题目背景

小A在你的帮助下,开始“刷题”,他在小书童里发现了一款叫“蚂蚁大战”(又称蛋糕保卫战)的游戏。(你懂得)

题目描述

游戏中会出现n只蚂蚁,分别有a1,a2……an的血量,它们要吃你的蛋糕。当然,你不会袖手旁观。你有m元钱,可以用来造防御塔,每个塔k元。塔的威力是每秒w滴血。此外,在第r秒时,蚂蚁会把蛋糕搬进窝。小A想知道,在第r秒时,会有多少块蛋糕被搬进窝(一只蚂蚁搬一块蛋糕)。

输入输出格式

输入格式:

 

第一行:n m k w r。第2~n+1行:a1,a2……an。

 

输出格式:

 

一行,表示有多少块蛋糕被蚂蚁搬进窝。

 

输入输出样例

输入样例#1: 复制
1 10 8 10 5
55
输出样例#1: 复制
1
思路:呵呵,这种题还用思路。。
#include<cstdio>
#include<cstring>
#include<iostream>
#include<algorithm>
using namespace std;
int n,m,k,w,r,pos;
int bleed[100000];
int main(){
    scanf("%d%d%d%d%d",&n,&m,&k,&w,&r);
    for(int i=1;i<=n;i++)
        scanf("%d",&bleed[i]);
    sort(bleed+1,bleed+1+n);
    pos=1;
    for(int i=1;i<=r;i++){
        bleed[pos]-=w;
        if(bleed[pos]<0)    pos++;
    }
    if(bleed[pos]>0)    pos--;
    cout<<n-pos;
}

 

 
posted @ 2017-11-16 20:11  一蓑烟雨任生平  阅读(193)  评论(0编辑  收藏  举报