wa1最后一个不知道为啥错了,求解
查看原帖
wa1最后一个不知道为啥错了,求解
1122530
elpsconr楼主2024/9/20 21:31
#include<bits/stdc++.h>
using namespace std;
#define int long long
#define endl '\n'
#define PII pair<int,int>
#define tul tuple<int,int,int>
#define rep(i,a,b) for(int i=a;i<=b;++i)
#define rep_(i,a,b) for(int i=a;i>=b;--i)
#define all(x) x.begin(),x.end()
#define cy cout<<"Yes"<<endl
#define cn cout<<"No"<<endl 
#define lc (rt<<1)
#define rc (rt<<1|1)
const int N=3e5+6,yyx=1e9+7;
vector<int> to[N];
int n,q,a[N],p[N],pre[N];
inline void solve(){
 cin>>n;
 map<int,int> mp;
 rep(i,1,n){
    cin>>a[i];
    mp[a[i]]=i;
 }
 rep(i,1,n) cin>>p[i],pre[i]=pre[i-1]+p[i];
 cin>>q;
 while(q--){
    int l,r;cin>>l>>r;
    auto x=lower_bound(a+1,a+1+n,l);
    auto y=upper_bound(a+1,a+1+n,r);
    --x;
    --y;
    int px=mp[(*x)],py=mp[(*y)];
    if(l&&r&&(*x)==0) px=0;
    if(l&&r&&(*y)==0) py=0;
    //cout<<px<<" "<<py<<" "<<*x<<" "<<*y<<endl;
    cout<<pre[py]-pre[px]<<endl;
 }
}
signed main(){
  cin.tie(0)->sync_with_stdio(0);
  //freopen("D://321//in.txt","r",stdin);
  //freopen("D://321//out.txt","w",stdout);
  int _=1;
  //cin>>_;
  while(_--)
  solve();
  return 0;
}
2024/9/20 21:31
加载中...