为什么 25/26 ?? help
查看原帖
为什么 25/26 ?? help
1106289
KomorKomor楼主2024/9/20 20:03
#include <bits/stdc++.h>
#define ll long long
#define pii pair<int, char>
using namespace std;
ll x[200010], p[200010], sum[200010];

void solve()
{
    ll n;  cin >> n;
    memset(sum, 0, sizeof(sum));
    
    for(int i = 1; i <= n; i++) cin >> x[i];
    for(int i = 1; i <= n; i++) cin >> p[i];
    for(int i = 1; i <= n; i++) sum[i] = sum[i - 1] + p[i];

    ll q;  cin >> q;
    while(q--)
    {
        ll l, r;   cin >> l >> r;
        ll moxi1 = *(lower_bound(x + 1, x + 1 + n, l));
        ll moxi2 = *(upper_bound(x + 1, x + 1 + n, r) - 1);

        if(moxi1 > moxi2)   
        {
            cout << 0 << endl;
            continue ;
        }

        ll tmp1 = lower_bound(x + 1, x + 1 + n, moxi1) - x;
        ll tmp2 = lower_bound(x + 1, x + 1 + n, moxi2) - x;
        cout << sum[tmp2] - sum[tmp1 - 1] << endl;
    }          
}

signed main()
{
    ios::sync_with_stdio(false);
    cin.tie(0); cout.tie(0);

    int t = 1;  //cin >> t;
    while(t--)  solve();

    return 0;
}
2024/9/20 20:03
加载中...