D-小沙の赌气_2023牛客寒假算法基础集训营5 (nowcoder.com)
#include<bits/stdc++.h>
using namespace std;
#define endl '\n'
#define int long long
const int N = 1e5 + 100;
typedef pair<int, int>PII;
int n;
int l1[N], r1[N], l2[N], r2[N];
void upd(set<PII>&st, int l, int r, int &len) {
st.insert({l, r});
PII h = *st.begin();
while(h.first <= len) {
len = max(len, h.second + 1);
st.erase(st.begin());
if(st.empty())return;
h = *st.begin();
}
}
signed main() {
ios::sync_with_stdio(false);
cin.tie(0);
set<PII>s1, s2;
cin >> n;
for(int i = 1; i <= n; i++) {
cin >> l1[i] >> r1[i];
}
for(int i = 1; i <= n; i++) {
cin >> l2[i] >> r2[i];
}
int len1 = 1, len2 = 1;
for(int i = 1; i <= n; i++) {
upd(s1, l1[i], r1[i], len1);
upd(s2, l2[i], r2[i], len2);
if(len1 > len2) {
cout << "sa_win!" << endl;
cout << len1 - len2 << endl;
} else if(len1 < len2) {
cout << "ya_win!" << endl;
cout << len2 - len1 << endl;
} else {
cout << "win_win!" << endl;
cout << 0 << endl;
}
}
return 0;
}