Pagini recente » Cod sursa (job #2541219) | Cod sursa (job #1564262) | Cod sursa (job #926699) | Cod sursa (job #1717382) | Cod sursa (job #2347304)
#include <fstream>
using namespace std;
ifstream f ("schi.in");
ofstream g ("schi.out");
int n,i,j,m,a[100000],val,mom,x,k,nr,dr,st,mij;
bool ok;
struct evolutie
{
int v;
int m;
};
evolutie c[10000];
int main()
{
f>>n;
for(i=1; i<=n; i++)
f>>a[i];
val=a[1];
mom=1;
for(i=2; i<=n; i++)
{
if(a[i]>val)
{
c[++nr].v=val;
c[nr].m=i-mom;
val=a[i];
mom=i;
}
}
c[++nr].v=val;
c[nr].m=i-mom;
f>>k;
for(i=1; i<=k; i++)
{
f>>x;
ok=false;
st=1;
dr=nr;
while(st<dr)
{
mij=(st+dr)/2;
if(c[mij].v>=x)dr=mij;
else st=mij+1;
}
if(c[st].v<x) g<<c[st].m<<" ";
else g<<c[st+1].m<<" ";
}
return 0;
}