Cod sursa(job #932366)

Utilizator crudu_denisDenis Crudu crudu_denis Data 28 martie 2013 21:03:37
Problema Curcubeu Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.87 kb
#include<fstream>
#include<algorithm>

#define maxn 1000009

using namespace std;
int n,A[maxn],B[maxn],C[maxn],sol[maxn],next[maxn];
int main()
{
    ifstream fin("curcubeu.in");
    ofstream fout("curcubeu.out");
    fin>>n>>A[1]>>B[1]>>C[1];
    if(A[1]>B[1])
            swap(A[1],B[1]);
    int i;
    for(i=2;i<n;i++)
    {
        A[i]=((long long)A[i-1]*i)%n;
        B[i]=((long long)B[i-1]*i)%n;
        C[i]=((long long)C[i-1]*i)%n;
        if(A[i]>B[i])
            swap(A[i],B[i]);
    }
    for(i=1;i<n;i++)
    {
        int a=A[i];
        int b=B[i];

        for(int j=a;j<=b;j++)
        {
            if(next[j]==0)
            {
                sol[j]=C[i];
                next[j]=b;
            }
            else
                j=next[j];
        }

    }
    for(i=1;i<n;i++)
        fout<<sol[i]<<'\n';
    return 0;
}