Pagini recente » Cod sursa (job #2694972) | Cod sursa (job #718168) | Cod sursa (job #1025916) | Cod sursa (job #780637) | Cod sursa (job #2650375)
#include <bits/stdc++.h>
using namespace std;
ifstream fin("curcubeu.in");
ofstream fout("curcubeu.out");
struct event{
int timp;
bool tip;
int col, pri;
friend bool operator<(event a, event b){
return a.timp<b.timp;
}
};
set<pair<int, int>> s;
int a, b, c, n;
vector<event> v;
int main()
{
fin>>n>>a>>b>>c;
for(int i=1;i<n;++i){
int l=min(a, b), r=max(a, b);
int pri=n-i;
v.push_back({l, 1, c, pri});
v.push_back({r+1, 0, c, pri});
a=1LL*a*(i+1)%n;
b=1LL*b*(i+1)%n;
c=1LL*c*(i+1)%n;
}
sort(v.begin(), v.end());
s.insert({n, 0});
int it=0;
for(int i=1;i<n;++i){
while(it<v.size()&&v[it].timp==i){
if(v[it].tip) s.insert({v[it].pri, v[it].col});
else s.erase({v[it].pri, v[it].col});
it++;
}
fout<<(*(s.begin())).second<<"\n";
}
return 0;
}