Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <fstream>
- using namespace std;
- ifstream fin("colina.in");
- ofstream fout("colina.out");
- int h[100001],q[100001];
- int main()
- {
- int n,m,i,j,max,imax=0,x,s,d,mij;
- bool gasits,gasitd;
- int pozs,pozd;
- fin>>n>>m;
- for (i=1; i<=n; i++) fin>>h[i];
- for (j=1; j<=m; j++) fin>>q[j];
- max=0;
- for (i=1; i<=n; i++)
- if (h[i]>max)
- {
- max=h[i];
- imax=i;
- }
- for (i=1; i<=m; i++)
- {
- x=q[i];
- ///cautam la stanga
- s=1;
- d=imax; gasits=false;
- while (s<=d && gasits==false)
- {
- mij=(s+d)/2;
- if (x==h[mij])
- {
- gasits=true;
- pozs=mij;
- }
- else if (x<h[mij]) d=mij-1;
- else s=mij+1;
- }
- //cautam la dreapta
- s=imax+1;
- d=n;
- gasitd=false;
- while (s<=d && gasitd==false)
- {
- mij=(s+d)/2;
- if (x==h[mij])
- {
- gasitd=true;
- pozd=mij;
- }
- else if (x>h[mij]) d=mij-1;
- else s=mij+1;
- }
- if (gasits==false&&gasitd==false) fout<<"NU"<<'\n';
- else
- {
- fout<<"DA"<<' ';
- if (gasits==true) fout<<pozs<<' ';
- if (gasitd==true) fout<<pozd;
- fout<<'\n';
- }
- }
- fin.close();
- fout.close();
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement