题目描述
小草莓 Diana 同学是众所周知的大胃王,如果每天无法吃够总计 K 饱腹度的外卖,她就会不开心。
今天她的朋友 —— 帅气的 Queen 同学拿到了 Diana 之前 N 天点的所有外卖的外卖单,共计 S 份。
每份外卖单上有两个数字,ni 和 ki ,分别表示这份外卖是 Diana 是在这 N 天里的 第 ni 天点的,且这份外卖饱腹度为 ki 。
现在她想要计算之前 N 天中,Diana有多少天是不开心的,你能帮帮她吗?
输入描述:
第一行输入 N 和 K 和 S,
接下来 S 行,其中第 i 行代表一份外卖单,包含两个整数 ni 和 ki,
表示 Diana 在第 ni 天,吃了一份饱腹度为 ki 的食物
输出描述:
输出Diana 不开心的天数。
输入
10 5 5 4 6 2 5 3 4 3 1 1 1
输出
7
说明
Queen拿到了之前10天里,Diana的五份食物清单,且Diana每天需要至少吃饱腹度为 5 的食物才能开心。其中,Diana 在第2天和第3天,都吃到了饱腹度之和为 5 的食物,而在第4天,吃到了饱腹度之和为 6 的食物。
在第1天,Diana 只吃到了饱腹度之和为 1 的食物。
在第5天,第6天,第7天,第8天,第9天,第10天,Diana 没有吃到任何食物。(所以也没有任何清单)
所以,Diana 在之前10天中,只有3天吃饱了,剩下有7天是不开心的。答案为7。
备注:
0 < N,S ≤ 105, 0 ≤ K ≤ 109, 0 < ni ≤ N, 0 ≤ ki ≤ 104
#include "bits/stdc++.h"
using namespace std;
int main()
{
int n,k,s;
cin>>n>>k>>s;
int x[10000001]={0};int cnt=0;
for(int i=0;i<s;i++)
{
int a,b;cin>>a>>b;
x[a]+=b;
}
for(int i=1;i<=n;i++)
{
if(x[i]<k)cnt++;
}
cout<<cnt;
}