Mai intai trebuie sa te autentifici.

Cod sursa(job #2104203)

Utilizator Ruxandra985Nanu Ruxandra Laura Ruxandra985 Data 11 ianuarie 2018 13:27:03
Problema Curcubeu Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.96 kb
#include <cstdio>
#include <iostream>

using namespace std;
int aint[5000000];
void update (int i,int st,int dr,int p,int u,int x){
    int mid;
    if (p<=st && dr<=u){
        aint[i]=x;
        return;
    }
    mid=(st+dr)/2;
    if (p<=mid)
        update (2*i,st,mid,p,u,x);
    if (u>mid)
        update (2*i+1,mid+1,dr,p,u,x);
}
int query (int i,int st,int dr,int x){
    int mid;
    if (st<=x && x<=dr && aint[i]!=0)
        return aint[i];
    mid=(st+dr)/2;
    if (x<=mid)
        return query (2*i,st,mid,x);
    else return query (2*i+1,mid+1,dr,x);
}
int main()
{
    FILE *fin=fopen ("curcubeu.in","r");
    FILE *fout=fopen ("curcubeu.out","w");
    int n,a,b,c,i;
    fscanf (fin,"%d%d%d%d",&n,&a,&b,&c);
    for (i=1;i<=n-1;i++){
        a=(a*i)%n;
        b=(b*i)%n;
        c=(c*i)%n;
        update (1,1,n-1,min(a,b),max(a,b),c);
    }
    for (i=1;i<n;i++)
        fprintf (fout,"%d\n",query (1,1,n-1,i));
    return 0;
}