题目

题意:按照规则给学生成绩排名,输出对应奖品

 

#include<iostream>
#include<string>
using namespace std;
bool prime[10003]= {false};
void prim() {
	for(int i=2; i<10003; ++i)
		if(!prime[i])
			for(int j=i*2; j<10003; j+=i)
				prime[j]=true;
}
int main() {
	prim();
	int n;
	cin>>n;
	int s[10003]= {0};
	for(int i=0; i<n; ++i) {
		int t;
		cin>>t;
		s[t]=i+1;
	}
	int m;
	cin>>m;
	for(int i=0; i<m; ++i) {
		int t;
		cin>>t;
		if(s[t]<0)
			printf("%04d: Checked\n",t);
		else if(!s[t])
			printf("%04d: Are you kidding?\n",t);
		else {

			if(s[t]==1)
				printf("%04d: Mystery Award\n",t);
			else if(!prime[s[t]])
				printf("%04d: Minion\n",t);
			else printf("%04d: Chocolate\n",t);
			s[t]=-1;
		}
	}
	return 0;
}