比赛 |
2024暑期C班集训2 |
评测结果 |
EEETEEEEEE |
题目名称 |
Vera 与现代艺术 |
最终得分 |
0 |
用户昵称 |
wdsjl |
运行时间 |
4.705 s |
代码语言 |
C++ |
内存使用 |
197.50 MiB |
提交时间 |
2024-07-02 11:13:22 |
显示代码纯文本
#include <bits/stdc++.h>
using namespace std;
const int N = 5010;
long long mapp[N][N],a[N],b[N],n,q,mi[100],x[N],y[N],v[N],r[N],c[N],maxx,maxy;
int main(){
freopen("modern.in","r",stdin);
freopen("modern.out","w",stdout);
mi[1]=1;
int k=1;
while(mi[k]*2<=1e18){
mi[k+1]=mi[k]*2;
k++;
}
scanf("%lld%lld",&n,&q);
for(int i=1;i<=n;i++){
scanf("%lld%lld%lld",&x[i],&y[i],&v[i]);
a[i]=mi[upper_bound(mi+1,mi+1+k,x[i])-mi-1];
b[i]=mi[upper_bound(mi+1,mi+1+k,y[i])-mi-1];
// cout<<"a"<<a[i]<<"b "<<b[i]<<endl;
}
for(int i=1;i<=q;i++){
scanf("%lld%lld",&r[i],&c[i]);
maxx=max(maxx,r[i]);
maxy=max(maxy,c[i]);
}
for(int i=1;i<=n;i++){
for(int p=0;x[i]+a[i]*p<=maxx;p++){
for(int q=0;y[i]+b[i]*q<=maxy;q++){
mapp[x[i]+a[i]*p][y[i]+b[i]*q]+=v[i];
}
}
}
// for(int i=1;i<=maxx;i++){
// for(int j=1;j<=maxy;j++){
// cout<<mapp[i][j]<<" ";
// }
// cout<<endl;
// }
for(int i=1;i<=q;i++){
printf("%lld\n",mapp[r[i]][c[i]]);
}
return 0;
}