Cod sursa(job #1086096)

Utilizator andreiiiiPopa Andrei andreiiii Data 17 ianuarie 2014 18:43:08
Problema Curcubeu Scor 20
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.82 kb
#include <fstream>

using namespace std;

const int N=1000005;

ifstream fin("curcubeu.in");
ofstream fout("curcubeu.out");

int a[N], b[N], c[N], d[N], e[N];

int main()
{
    int n, i, j, k, mins, maxs, aux;
    fin>>n>>a[1]>>b[1]>>c[1];
    for(i=2;i<n;i++)
    {
        a[i]=1LL*a[i-1]*i%n;
        b[i]=1LL*b[i-1]*i%n;
        c[i]=1LL*c[i-1]*i%n;
    }
    for(i=1;i<=n+1;i++) e[i]=i;
    for(i=n-1;i;i--)
    {
        if(a[i]>b[i])
        {
            maxs=a[i];
            mins=b[i];
        }
        else
        {
            maxs=b[i];
            mins=a[i];
        }
        for(j=mins;j<=maxs;j++)
        {
           if(!d[j]) d[j]=c[i], e[j]=e[b[i]+1];
           else e[j]-1;
        }
    }
    for(i=1;i<n;i++) fout<<d[i]<<"\n";
    fin.close();
    fout.close();
}