Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- #include <algorithm>
- #include <math.h>
- #include <vector>
- using namespace std;
- int a,b,c,d,e,f;
- struct sala
- {
- int i;
- int pos;
- };
- bool cmp(const sala &A,const sala &B)
- {
- if(A.i==B.i)return A.pos<B.pos;
- else return A.i<B.i;
- }
- bool cmp2(const sala &A,const sala &B)
- {
- return A.i<B.i;
- }
- struct sala2
- {
- int c;
- int m;
- };
- vector<sala>niz;
- vector<sala>nia;
- vector<sala2>niz2(200000);
- int main()
- {
- scanf("%d",&a);
- for(int i=0;i<=a;++i)
- {
- sala p;
- niz.push_back(p);
- nia.push_back(p);
- }
- for(int i=0;i<a;++i)
- scanf("%d",&niz[i].i),niz[i].pos=i;
- for(int i=0;i<a;++i)
- scanf("%d",&nia[i].i),nia[i].pos=i;
- nia[a].i=1000000000+6;
- nia[a].pos=a;
- niz[a].pos=a;
- niz[a].i=1000000000+6;
- sort(niz.begin(),niz.end(),cmp);
- sort(nia.begin(),nia.end(),cmp);
- scanf("%d",&b);
- int pos=0;
- for(int i=0;i<b;++i)
- scanf("%d",&niz2[i].c);
- for(int i=0;i<b;++i)
- scanf("%d",&niz2[i].m);
- for(int i=0;i<b;++i)
- {
- int low,low2;
- vector<sala>::iterator lowa,low2a;
- sala p,pa;
- p.i=niz2[i].c+1;
- p.pos=0;
- pa.i=niz2[i].m+1;
- pa.pos=0;
- lowa=lower_bound(niz.begin(),niz.end(),p,cmp2);
- low2a=lower_bound(nia.begin(),nia.end(),pa,cmp2);
- low=lowa-niz.begin();
- low2=low2a-nia.begin();
- if(niz[low].pos>nia[low2].pos)printf("Constantine\n");
- else if(niz[low].pos<nia[low2].pos)printf("Mike\n");
- else printf("Draw\n");
- }
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement