| Run ID | 作者 | 问题 | 语言 | 测评结果 | 分数 | 时间 | 内存 | 代码长度 | 提交时间 |
|---|---|---|---|---|---|---|---|---|---|
| 38741 | baka24 | 【BJ】T3 | C++ | 解答错误 | 30 | 126 MS | 16676 KB | 1634 | 2025-10-23 14:06:15 |
#include<bits/stdc++.h> using namespace std; #define int long long #define lson (pos<<1) #define rson (pos<<1|1) #define ll long long #define pii pair<int,int> #define pil pair<int,ll> #define fr first #define sc second #define mk make_pair #define pb push_back ll read(){ll x=0,f=1;char c=getchar();while(c<'0'||c>'9'){if(c=='-')f=-1;c=getchar();}while(c>='0'&&c<='9')x=(x<<1)+(x<<3)+(c^48),c=getchar();return x*f;} bool AAA; const int MAXN=200010; int n,k,m,q,t,op; struct node{ int x,y,w; }s[MAXN]; map<int,int>mp; bool cmp(node x,node y){return x.y<y.y;} vector<pii>G[MAXN]; void slv(){ k=read(),n=read(),q=read(); for(int i=1;i<=k;i++)m+=abs(read()),op=read(); for(int i=1;i<=n;i++)s[i].x=read(),s[i].y=read(),s[i].w=read(); sort(s+1,s+n+1,cmp); for(int i=1;i<=n;i++){ if(i==1||s[i].y!=s[i-1].y)t++,mp[s[i].y]=t; G[t].pb(mk(s[i].x,s[i].w)); } for(int i=1;i<=t;i++){ sort(G[i].begin(),G[i].end()); for(int j=1;j<G[i].size();j++)G[i][j].sc+=G[i][j-1].sc; } while(q--){ int x=read(),y=read(),p=read(),res=0; if(!mp.count(y)){puts("0");continue;} int o=mp[y],l=x-p*m,r=x+p*m; auto it=lower_bound(G[o].begin(),G[o].end(),mk(l,0ll)); if(it!=G[o].begin())it--,res-=(*it).sc; it=lower_bound(G[o].begin(),G[o].end(),mk(r+1,0ll)); if(it!=G[o].begin())it--,res+=(*it).sc; printf("%lld\n",res); } } signed main(){ // freopen("1.in","r",stdin);freopen("1.out","w",stdout); slv(); // cerr<<(clock()*1.0)/CLOCKS_PER_SEC<<"s\n"; return 0; }