QOJ.ac
QOJ
ID | 题目 | 提交者 | 结果 | 用时 | 内存 | 语言 | 文件大小 | 提交时间 | 测评时间 |
---|---|---|---|---|---|---|---|---|---|
#588968 | #9370. Gambling on Choosing Regionals | lixiaolin | RE | 0ms | 0kb | C++14 | 784b | 2024-09-25 15:29:02 | 2024-09-25 15:29:02 |
answer
#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
unordered_map<string,vector<int>>mp;
int w[112121];
vector<int>rnk,ans;
int main()
{
int n,m;
cin>>n>>m;
int mn=1e9+7;
for(int i=0;i<m;i++){int x;cin>>x;mn=min(x,mn); }
for(int i=0;i<n;i++)
{
string s;
cin>>w[i]>>s;
mp[s].push_back(w[i]);
}
for(auto &[s,v]:mp)
{
sort(v.begin(),v.end(),greater<int>());
for(int i=0;i<min(mn,int(v.size()));i++)rnk.push_back(v[i]);
}
sort(rnk.begin(),rnk.end(),greater<int>());
for(int i=0;i<rnk.size();i++)ans[rnk[i]]=i+1;
for(auto &[s,v]:mp)
{
for(int i=mn;i<v.size();i++)
{
ans[v[i]]=lower_bound(rnk.begin(),rnk.end(),v[i],greater<int>())-rnk.begin();
}
}
for(int i=0;i<n;i++)cout<<ans[w[i]]<<"\n";
return 0;
}
詳細信息
Test #1:
score: 0
Runtime Error
input:
5 3 1 2 3 100 THU 110 PKU 95 PKU 105 THU 115 PKU