Cod sursa(job #531790)

Utilizator feelshiftFeelshift feelshift Data 10 februarie 2011 12:33:59
Problema Curcubeu Scor 20
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.14 kb
// http://infoarena.ro/problema/curcubeu
#include <fstream>
using namespace std;

#define maxSize 1000001

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

struct stuff {
    long long start,stop,color;
};

stuff previous;

long long house[maxSize];

int main() {
    long long houses,start,stop,color;
    long long maxim,minim;

    in >> houses >> start >> stop >> color;
    previous.start = start;
    previous.stop = stop;
    previous.color = color;

    minim = min(start,stop);
    maxim = max(start,stop);
    for(long long i=minim;i<=maxim;i++) {
        house[i] = color;
    }

    for(long long i=2;i<=houses-1;i++) {
        start = (previous.start * i) % houses;
        stop = (previous.stop * i) % houses;
        color = (previous.color * i) % houses;

        minim = min(start,stop);
        maxim = max(start,stop);

        for(long long k=minim;k<=maxim;k++)
            house[k] = color;

        previous.start = start;
        previous.stop = stop;
        previous.color = color;
    }

    for(long long i=1;i<=houses-1;i++)
        out << house[i] << "\n";

    return (0);
}