Cod sursa(job #531788)

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

#define maxSize 1000001

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

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

stuff previous;

int house[maxSize];

int main() {
    int houses,start,stop,color;
    int 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(int i=minim;i<=maxim;i++) {
        house[i] = color;
    }

    for(int 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(int k=minim;k<=maxim;k++)
            house[k] = color;

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

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

    return (0);
}