Cod sursa(job #2567742)

Utilizator dragossofiaSofia Dragos dragossofia Data 3 martie 2020 18:39:52
Problema Curcubeu Scor 0
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 1 kb
#include <bits/stdc++.h>
#define Nmax 1000001

using namespace std;

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

int a[ Nmax ] , b[ Nmax ], c[ Nmax ] , n , A , B , C , nex[ Nmax ]  ,co[Nmax];

void precalc ( )
{
 int i ;
 for( i = 1 ; i <= n - 1 ; i ++ )
    {
      a[ i ] = A ;
      b[ i ] = B ;
      c[ i ] = C ;
      A = ( A * ( i + 1 ) ) % n ;
      B = ( B * ( i + 1 ) ) % n ;
      C = ( C * ( i + 1 ) ) % n ;

    }
}



int main()
{
    fin>> n >> A >> B >> C ;

    precalc();

    int i , j ;



    for ( i = n - 1 ; i >= 1 ; i -- )
        {
         for( j = min ( b[i] , a[ i ] ) ; j<= max ( b[i] , a[ i ] ) ; j ++ )
            {
             if( co [ j ] == 0 )
                {
                 co[ j ] = i ;
                 nex[ i ] = j ;
                }
             else
                i = nex [ co [ j ] ] ;

            }
        }
    for( i = 1 ; i <= n - 1 ; i ++)
        fout<<c[ co [ i ] ]<<" ";
    return 0;
}