Pagini recente » Cod sursa (job #638680) | Cod sursa (job #88948) | Cod sursa (job #342740) | Cod sursa (job #2055848) | Cod sursa (job #3193071)
#include <fstream>
long long l[1000005], r[1000005], color[1000005];
int range[1000005], result[1000005];
int main()
{
std::ifstream fin("curcubeu.in");
std::ofstream fout("curcubeu.out");
int n;
fin >> n >> l[1] >> r[1] >> color[1];
for (int i = 2; i < n; i++)
{
l[i] = (l[i - 1] * i) % n;
r[i] = (r[i - 1] * i) % n;
color[i] = (color[i - 1] * i) % n;
}
for (int i = n - 1; i > 0; i--)
{
int min_index = std::min(l[i], r[i]);
int max_index = std::max(l[i], r[i]);
for (int j = min_index; j <= max_index; j++)
if (range[j] != 0)
j = range[j];
else
{
range[j] = max_index;
result[j] = color[i];
}
}
for (int i = 1; i < n; i++)
fout << result[i] << "\n";
return 0;
}