Pagini recente » Cod sursa (job #3137771) | Cod sursa (job #554960) | Cod sursa (job #2733833) | Cod sursa (job #1811343) | Cod sursa (job #2269533)
#include <fstream>
#define DIM 1000010
using namespace std;
ifstream fin ("curcubeu.in");
ofstream fout ("curcubeu.out");
int n,a,b,c,A,B,C,i,j,st,dr;
pair < pair<int,int>, int > v[DIM];
int cul[DIM],w[DIM];
int main (){
fin>>n>>a>>b>>c;
v[1] = make_pair(make_pair( min(a,b),max(a,b) ),c);
for (i=2;i<=n-1;i++){
A = (1LL*a*i) % n;
B = (1LL*b*i) % n;
C = (1LL*c*i) % n;
v[i] = make_pair(make_pair( min(A,B),max(A,B) ),C);
a = A, b = B, c = C;
}
for (i=n-1;i>=1;i--){
st = v[i].first.first;
dr = v[i].first.second;
j = st;
while (j <= dr){
if (w[j] == 0){
w[j] = dr; /// intervalul de la j la dr este colorat complet
cul[j] = v[i].second;
j++;
} else {
j = w[j] + 1;
}
}
}
for (i=1;i<=n-1;i++)
fout<<cul[i]<<"\n";
return 0;
}