Cod sursa(job #991845)

Utilizator monica11Szekely Monica monica11 Data 31 august 2013 16:41:32
Problema Atac Scor 50
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.02 kb
#include<fstream>
#include<vector>
#include<algorithm>
using namespace std;

long i,j,n,m,d[64001][15],x,y,A,B,C,D,Z,p,nr,prim[32001];
long lm,k,coloana[64001],tata[32001],min1,lca,c[32001],niv[32001];
bool viz[32001];
int main()
{
    ifstream f("atac.in");
    ofstream g("atac.out");
    f>>n>>m>>p;
    for(i=2;i<=n;++i)
    {
        f>>x>>y;
        tata[i]=x;
        c[i]=y;
        niv[i]=niv[x]+1;
    }

    f>>x>>y>>A>>B>>C>>D;
    while(m)
    {

        Z=1<<20;
        int xx=x,yy=y;
        while(niv[x]>niv[y])
        {
            Z=min(Z,c[x]);
            x=tata[x];
        }
        while(niv[y]>niv[x])
        {
            Z=min(Z,c[y]);
            y=tata[y];
        }
        while(x!=y)
        {
            Z=min(Z,min(c[x],c[y]));
            x=tata[x];
            y=tata[y];
        }

        if(Z==1<<20)
        Z=0;
        if(m<=p)
        g<<Z<<"\n";

        x=(A*xx+B*yy)%n+1;
        y=(C*yy+D*Z)%n+1;

        --m;
    }

    return 0;
}