Cod sursa(job #3278929)

Utilizator SkibidiCezarCezar Bolba SkibidiCezar Data 21 februarie 2025 13:22:05
Problema Curcubeu Scor 20
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 1.02 kb
#include <bits/stdc++.h>

using namespace std;
ifstream fin ("curcubeu.in");
ofstream fout ("curcubeu.out");
int n;
struct inter{
    int st;
    int dr;
    int c;
};
inter a[1000005];
int col[1000005];
int poz[1000005];
int A, B;

int main()
{
    fin >> n >> A >> B >> a[1].c;
    a[1].st = min(A, B);
    a[1].dr = max(A, B);
    cout << a[1].st << " " << a[1].dr << " " << a[1].c << "\n";
    for(int i = 2; i < n; i++){
        A = (A * i) % n;
        B = (B * i) % n;
        a[i].st = min(A, B);
        a[i].dr = max(A, B);
        a[i].c = (a[i-1].c * i) % n;
        cout << a[i].st << " " << a[i].dr << " " << a[i].c << "\n";
    }
    for(int i = n - 1; i > 0; i--){
        for(int j = a[i].st; j <= a[i].dr; j++){
            if(poz[j] > 0){
                j = poz[j];
            }
            else{
                poz[j] = a[i].dr;
                col[j] = a[i].c;
            }
        }
    }
    for(int i = 1; i < n; i++){
        fout << col[i] << "\n";
    }
    return 0;
}