#include<bits/stdc++.h> // #define SINGLE_INPUT #define ull unsigned long long #define ll long long #define N 500005 #define MOD 998244353 usingnamespace std;
template<classt,classu> ostream& operator<<(ostream& os,const pair<t,u>& p) { return os<<'['<<p.first<<", "<<p.second<<']'; } template<classt> ostream& operator<<(ostream& os,const vector<t>& v) { os<<'['; int s = 1; for(auto e:v) { if (s) s = 0; else os << ", "; os << e; } return os<<']'; } template<classt,classu> ostream& operator<<(ostream& os,const map<t,u>& mp){ os<<'{'; int s = 1; for(auto [x,y]:mp) { if (s) s = 0; else os << ", "; os<<x<<": "<<y; } return os<<'}'; }
voidsol(){ voidsol(){ int n; cin >> n; int t = n; for (; n; n &= (n - 1)) t = n; cout << t << "\n"; } }
#include<bits/stdc++.h> // #define SINGLE_INPUT #define ull unsigned long long #define ll long long #define N 500005 #define MOD 998244353 usingnamespace std;
template<classt,classu> ostream& operator<<(ostream& os,const pair<t,u>& p) { return os<<'['<<p.first<<", "<<p.second<<']'; } template<classt> ostream& operator<<(ostream& os,const vector<t>& v) { os<<'['; int s = 1; for(auto e:v) { if (s) s = 0; else os << ", "; os << e; } return os<<']'; } template<classt,classu> ostream& operator<<(ostream& os,const map<t,u>& mp){ os<<'{'; int s = 1; for(auto [x,y]:mp) { if (s) s = 0; else os << ", "; os<<x<<": "<<y; } return os<<'}'; }
voidsol(){ int n; cin >> n; vector<string> a(2); cin >> a[0] >> a[1]; string s; s.push_back(a[0][0]); int cnt = 1; for (int i = 1; i < n; i++) { if (a[0][i] == a[1][i - 1]) cnt++, s.push_back(a[0][i]); if (a[0][i] < a[1][i - 1]) cnt = 1, s.push_back(a[0][i]); if (a[0][i] > a[1][i - 1]) { for (int j = i - 1; j < n; j++) { s.push_back(a[1][j]); } break; } } if (s.size() != n + 1) s.push_back(a[1][n - 1]); cout << s << "\n"; cout << cnt << "\n"; }
#include<bits/stdc++.h> // #define SINGLE_INPUT #define ull unsigned long long #define ll long long #define N 500005 #define MOD 998244353 usingnamespace std;
template<classt,classu> ostream& operator<<(ostream& os,const pair<t,u>& p) { return os<<'['<<p.first<<", "<<p.second<<']'; } template<classt> ostream& operator<<(ostream& os,const vector<t>& v) { os<<'['; int s = 1; for(auto e:v) { if (s) s = 0; else os << ", "; os << e; } return os<<']'; } template<classt,classu> ostream& operator<<(ostream& os,const map<t,u>& mp){ os<<'{'; int s = 1; for(auto [x,y]:mp) { if (s) s = 0; else os << ", "; os<<x<<": "<<y; } return os<<'}'; }
#include<bits/stdc++.h> // #define SINGLE_INPUT #define ull unsigned long long #define ll long long #define N 500005 #define MOD 998244353 usingnamespace std;
template<classt,classu> ostream& operator<<(ostream& os,const pair<t,u>& p) { return os<<'['<<p.first<<", "<<p.second<<']'; } template<classt> ostream& operator<<(ostream& os,const vector<t>& v) { os<<'['; int s = 1; for(auto e:v) { if (s) s = 0; else os << ", "; os << e; } return os<<']'; } template<classt,classu> ostream& operator<<(ostream& os,const map<t,u>& mp){ os<<'{'; int s = 1; for(auto [x,y]:mp) { if (s) s = 0; else os << ", "; os<<x<<": "<<y; } return os<<'}'; }
voidsol(){ ll n; string s; cin >> n; cin >> s; s = "#" + s; vector<ll> la(1), ra(1); for (ll i = n; i >= 1; i--) { if (s[i] == '<') { la.push_back(la.back() + i); } } for (ll i = 1; i <= n; i++) { if (s[i] == '<') la.pop_back(); // cout << i << ":" << s[i] << endl; // cout << ra << endl; // cout << la << endl; ll c = min(la.size(), ra.size()); ll stp = (ra.back() - ra[ra.size() - c] - (n - i + 1) * (c - 1)) * 2 + (la.back() - la[la.size() - c] - i * (c - 1)) * 2; if (s[i] == '>') { if (la.size() == c) stp += n + 1 - i; else stp += (la[la.size() - c] - la[la.size() - c - 1]) * 2 - i; } else { if (ra.size() == c) stp += i; else stp += (ra[ra.size() - c] - ra[ra.size() - c - 1]) * 2 - (n + 1 - i); } cout << stp << " "; if (s[i] == '>') ra.push_back(ra.back() + n - i + 1); } cout << "\n"; }