链接:https://ac.nowcoder.com/acm/contest/53284/B?&headNav=acm
来源:牛客网
题目描述
小草莓 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 不开心的天数。
示例1
输入
复制
10 5 5
4 6
2 5
3 4
3 1
1 1
输出
复制
7
为什么用map一直错呀,90%样例通过率。
#include<iostream>
#include<map>
using namespace std;
typedef map< int, int> MP;
int main()
{
map<int, int> mp;//first second
int N, K, S;
cin >> N >> K >> S;
int ni, ki;
for ( int i = 1; i <= S; i++)
{
cin >> ni >> ki;
mp[ni] += ki;
}
MP::iterator q = mp.begin();
for (; q != mp.end(); q++)
{
if (q->second >= K)
{
N -= 1;
}
}
cout << N;
}