ZOI Round 1 & 新春联欢赛记录
__vector__ · · 个人记录
以此纪念从学 OI 开始,第一次赛时 AK 比赛,从看题开始用了 1h。
但是有 129 个 AKer,无语。
A
可以计算出
然后
B
算出每个站第一次到达时间,接下来每
简单分讨。
#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
const int maxn=1e5+5;
int n,k,q;
int a[maxn];
ll pre[maxn];
int main(){
ios::sync_with_stdio(0);
cin>>n>>k>>q;
for(int i=1;i<n;i++){
cin>>a[i];
}
for(int i=2;i<=n;i++){
pre[i]=pre[i-1]+a[i-1];
}
while(q--){
int x,t;
cin>>x>>t;
if(t<=pre[x]){
cout<<pre[x]-t<<'\n';
}else{
t-=pre[x];
if(t%k==0){
cout<<"0\n";
}else{
cout<<k-t%k<<'\n';
}
}
}
return 0;
}
C
与最短路板子的区别,就是它必须得以一个大整体运动。
随便选一个红点,枚举出它放在哪个地方,整体随之运动能完成目标。
然后最短路。
D
设距离是
显然需要进行
剩下的
很显然其中
总共运动
如果
如果
如果