CodeForces - 670C Cinema (map&模拟)水

CodeForces - 670C

Cinema

Time Limit: 2000MS   Memory Limit: 262144KB   64bit IO Format: %I64d & %I64u

Submit
Status

Description

Moscow is hosting a major international conference, which is attended by
n scientists from different countries. Each of the scientists knows exactly one language. For convenience, we enumerate all languages of the world with integers from
1 to 109.

In the evening after the conference, all n scientists decided to go to the cinema. There are
m movies in the cinema they came to. Each of the movies is characterized by two
distinct numbers — the index of audio language and the index of subtitles language. The scientist, who came to the movie, will be
very pleased if he knows the audio language of the movie, will be
almost satisfied if he knows the language of subtitles and will be
not satisfied if he does not know neither one nor the other (note that the audio language and the subtitles language for each movie are always different).

Scientists decided to go together to the same movie. You have to help them choose the movie, such that the number of very pleased scientists is maximum possible. If there are several such movies, select among them one that will maximize the number of almost
satisfied scientists.

Input

The first line of the input contains a positive integer
n (1?≤?n?≤?200?000) — the number of scientists.

The second line contains n positive integers
a1,?a2,?...,?an (1?≤?ai?≤?109),
where ai is the index of a language, which the
i-th scientist knows.

The third line contains a positive integer m (1?≤?m?≤?200?000) — the number of movies in the cinema.

The fourth line contains m positive integers
b1,?b2,?...,?bm (1?≤?bj?≤?109),
where bj is the index of the audio language of the
j-th movie.

The fifth line contains m positive integers
c1,?c2,?...,?cm (1?≤?cj?≤?109),
where cj is the index of subtitles language of the
j-th movie.

It is guaranteed that audio languages and subtitles language are different for each movie, that is
bj?≠?cj.

Output

Print the single integer — the index of a movie to which scientists should go. After viewing this movie the number of very pleased scientists should be maximum possible. If in the cinema there are several such movies, you need to choose among them one, after
viewing which there will be the maximum possible number of almost satisfied scientists.

If there are several possible answers print any of them.

Sample Input

Input

3
2 3 2
2
3 2
2 3

Output

2

Input

6
6 3 1 1 3 7
5
1 2 3 4 5
2 3 4 5 1

Output

1

Sample Output

Hint

Source

Codeforces Round #350 (Div. 2)

//题意:

有n个外国朋友来中国看电影,他们每个人只会一种语言(不同编号表不同语言示),现在有m部电影,每部电影的声音是a[i],字幕是b[i]。

如果电影的声音他懂的话,他会非常满意,如果字母他能看懂的话他会比较满意,否则它很不满意。

现在问看哪部电影会使得n个外国友人满意最高(如果两部电影使得n个外国友人非常满意的人数相同时,选比较满意的最多的那部电影)。

//思路:

因为a[i],b[i]很大,所以得用map来存,然后就是计数模拟比较找到最优解就行了。

#include<stdio.h>
#include<string.h>
#include<algorithm>
#include<map>
#define N 200010
using namespace std;
map<int,int>s;
int a[N];
int b[N];
struct zz
{
	int a;
	int b;
}p[N];
int main()
{
	int n,m,i,j,k;
	scanf("%d",&n);
	for(i=0;i<n;i++)
	{
		scanf("%d",&a[i]);
		s[a[i]]++;
	}
	scanf("%d",&m);
	for(i=1;i<=m;i++)
		scanf("%d",&p[i].a);
	for(i=1;i<=m;i++)
		scanf("%d",&p[i].b);
	int mm=0;k=1;
	for(i=1;i<=m;i++)
	{
		if(mm<s[p[i].a])
		{
			mm=s[p[i].a];
			k=i;
		}
	}
	int kk=0;
	for(i=1;i<=m;i++)
	{
		if(s[p[i].a]==mm)
		{
			if(kk<s[p[i].b])
			{
				kk=s[p[i].b];
				k=i;
			}
		}
	}
	printf("%d\n",k);
	return 0;
} 
时间: 2024-10-31 17:29:38

CodeForces - 670C Cinema (map&模拟)水的相关文章

[2016-05-06][codeforces][670C - Cinema]

时间:2016-05-06 21:24:29 星期五 题目编号:[2016-05-06][codeforces][670C - Cinema] 题目大意: 给n个人会的唯一语言,给m部电影,每部电影是某个语言和某个字母的,从m不电影中选择一个,为了尽可能是更多个人please,要求尽可能多的人会电影的语言,相同的时候,要尽可能多的人看懂字母 分析: 语言的范围是 1 - 1e9 ,但是n只有2 * 1E6种,所以使用map匹配一下对应语言的数目 然后每次输入一部电影,比较当前选择的电影(当前最优

[codeforces 670C]Cinema

题目原文戳这里 题目大致翻译:莫斯科现在要举行一次来自不同国家科学家参加的大会,每个科学家都有各自的语音,用1到10^9的整数表示.会议晚上所有科学家去看电影,每部电影的声音和字幕是两种不同的语言,如果一个科学家看到电影声音是自己的语言,他就会很高兴,如果一个科学家看到电影字幕是自己的语言,他也会满意.现在给出所有科学家的语言.电影的声音和字幕语言,选择一部电影在让高兴的科学家最多的同时满意的科学家也最多. 讲实话这是我第一次认真写哈希,以前基本没怎么做过这方面的题[喂喂喂就是完全不会吧] 都怪

Codeforces 48C The Race 模拟题

题目链接:点击打开链接 题意: 给定n个加油站,一辆车由A点跑到B点,每个100m有一个加油站,每开100m需要10升油. 在每个车站会检查一下油量,若车子若开不到下一个加油站则加x升油. 开始有x升油 下面给出加油的记录. 问下一次加油在哪一站.若答案唯一输出具体哪站. 油箱容量无限 思路: 水模拟.. #include <stdio.h> #include <string.h> #include <stdlib.h> #include <math.h>

CodeForces 22C System Administrator 小水怡情 图论+构造

题目链接:点击打开链接 构造一个星形图+一个完全图就好了.. #include <cstdio> #include <cstring> #include <algorithm> #include <vector> #include <iostream> #include <map> #include <set> #include <math.h> using namespace std; #define inf

CodeForces 707A Brain&#39;s Photos (水题)

题意:给一张照片的像素,让你来确定是黑白的还是彩色的. 析:很简单么,如果有一种颜色不是黑白灰,那么就一定是彩色的. 代码如下: #pragma comment(linker, "/STACK:1024000000,1024000000") #include <cstdio> #include <string> #include <cstdlib> #include <cmath> #include <iostream> #i

Codeforces 444C DZY Loves Colors 水线段树

题目链接:点击打开链接 水.. #include <cstdio> #include <cstring> #include <iostream> #include <algorithm> #include <math.h> #include <set> #include <vector> #include <map> using namespace std; #define ll long long #defi

POJ 3030. Nasty Hacks 模拟水题

Nasty Hacks Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 13136   Accepted: 9077 Description You are the CEO of Nasty Hacks Inc., a company that creates small pieces of malicious software which teenagers may use to fool their friends.

HDOJ 2317. Nasty Hacks 模拟水题

Nasty Hacks Time Limit: 3000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Total Submission(s): 3049    Accepted Submission(s): 2364 Problem Description You are the CEO of Nasty Hacks Inc., a company that creates small pieces of

多校第七场 DP+map模拟

HDU 4939 Stupid Tower Defense DP 推一下. #include<iostream> #include<cstdio> #include<cstring> #include<cmath> #include<map> #include<queue> #include<stack> #include<vector> #include<ctype.h> #include<