最大化情况
中线往左全是 \(R\),中线往右全是 \(L\)
从左往中线 和 从中线往右 遍历,将能够增加的值放进 \(vector\) 中
排序,每一个k都取出目前最大的,直至 \(vector\) 为空,值就固定了
[code]void solve(){ int n; cin >> n; string s; cin >> s; ll ans = 0; for(int i = 0; i < n; i++) { if(s == 'L') ans += i; else ans += (n - i - 1); } vector a; int l, r; if(n % 2 == 0) l = (n / 2) - 1, r = n / 2; else l = n / 2, r = l; for(int i = 0; i q; vector s(1010, vector(1010)); for(int i = 0; i < n; i++) { int a, b; cin >> a >> b; s[a] += a * b; } for(int i = 1; i a >> b >> c >> d; a++, b++, c--, d--; cout