Cod sursa(job #3165088)

Utilizator diana_dd03Dorneanu Diana diana_dd03 Data 5 noiembrie 2023 13:44:46
Problema Curcubeu Scor 0
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.91 kb
#include <bits/stdc++.h>
using namespace std;

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

int A, B, C, N;
struct date{
    int v, p;
};
vector<date>h;

int main(){
    fin>>N;
    fin>>A>>B>>C;
    h.assign(N, {0, 0});
    h[min(A, B)].v=C;
    h[min(A, B)].p=1;
    h[max(A, B)].v=C;
    h[max(A, B)].p=1;
    for(int i=2;i<=N-1;i++){
        A=(A*i)%N;
        B=(B*i)%N;
        C=(C*i)%N;
        //cout<<A<<" "<<B<<" "<<C<<"\n";
        h[min(A, B)].v=C;
        h[min(A, B)].p=i;
        h[max(A, B)].v=C;
        h[max(A, B)].p=i;
    }
    date val={0, 0};
    for(int i=1;i<N;i++){
        if(h[i].v==0)
            h[i].v=val.v;
        else if(h[i].v==val.v)
            val.v=0;
        else{
            if(h[i].p>val.p)
                val.v=h[i].v;
            else
                h[i].v=val.v;
        }
        fout<<h[i].v<<"\n";
    }
    return 0;
}