题解 AT2466 【投票 (Vote)】
Snowflake_Pink
2018-12-31 16:55:19
这是一道红题吧。。
**做法就是直接模拟投票,每读入一个投票人的标准就从头找到第一个符合标准的比赛。然后记录一下投票最多的比赛编号就可以了**
Code:
```cpp
#include <iostream>
#include <cstdio>
using namespace std;
int n,m,w[1005],sum[1005],t,Max,flag;//w是每一个比赛的成本,t是当前投票人的标准,sum是每个比赛的投票数
int main(){
cin >>n>>m;
for (int i=1;i<=n;i++)
cin >>w[i];
for (int i=1;i<=m;i++){
cin >>t;
for (int j=1;j<=n;j++)
if (w[j]<=t){
sum[j]++;
if (Max<sum[j]){
Max=sum[j];
flag=j;
}
break;//记得break,不然后面的比赛也会+1
}
}
cout <<flag<<endl;
return 0;
}
```
~~我好菜啊,只能在红题题解和翻译上做贡献......~~