Cod sursa(job #2347304)

Utilizator stefanjumarea02jumarea stefan stefanjumarea02 Data 18 februarie 2019 17:39:21
Problema Schi Scor 0
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.87 kb
#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;
}