【题解】Codeforces 670C【Cinema】

背景

这道离散化的题,本来想模一个数水过去的,但是发现这里不像$NOI2015$程序自动分析那题一样有两个变量,这里只有一个变量,冲突几率极大。

分析

离散化就好了。

代码

#include<algorithm>
#include<cstdio>
#include<map>
#include<vector>
using namespace std;
const int MAXN = 200000 + 6;

class Pair{
public:
    int a,b;
};
Pair p[MAXN];
map<int,int> m;

int main(){
    int n,M,delta;scanf("%d",&n);
    for(int i = 0;i < n;++i) scanf("%d",&delta),m[delta]++;
    int maxCnt = 0,secCnt = 0,id = 0;scanf("%d",&M);
    for(int i = 0;i < M;++i) scanf("%d",&p[i].a);
    for(int i = 0;i < M;++i){
        scanf("%d",&p[i].b);
        if(m[p[i].a] > maxCnt || (m[p[i].a] == maxCnt && m[p[i].b] > secCnt)){
            maxCnt = m[p[i].a];
            secCnt = m[p[i].b];
            id = i;
        }
    }
    printf("%d",id + 1);

    return 0;
}