社区讨论
30分样例全过,求调
P15359「WYZOI R2」春运参与者 3已保存回复 5
讨论操作
快速查看讨论及其快照的属性,并进行相关操作。
- 当前回复
- 5 条
- 当前快照
- 1 份
- 快照标识符
- @mluply2k
- 此快照首次捕获于
- 2026/02/20 17:50 2 周前
- 此快照最后确认于
- 2026/02/23 15:40 2 周前
比赛时的代码,调了一个多小时只过了样例(可能是蒙的)
死亡回放
代码如下:
CPP#include <bits/stdc++.h>
using namespace std;
#define ll long long
ll d,n,m,t,x=0;
int a[3050];
void ch(){
int p=a[n-1];
for (int i=n-1;i>0;i--) a[i]=a[i-1];
a[0]=p;
}
ll _lcm(ll a,ll b){
return (a*b)/__gcd(a,b);
}
int main(){
cin>>d>>n>>m>>t;
for(int i=0;i<n;i++){
cin>>a[i];
}
ll zq=_lcm(n,m);
for(int i=0;i<zq;i++){
if(i%m==0){
ch();
}
x=(x%d+a[i%n]%d)%d;
//cout<<(a[i%n])<<' ';
}
ll ans=0;
ans=((t-1)/zq%d*x%d)%d;
for(int i=0;i<=(t-1)%zq;i++){
if(i%m==0){
ch();
}
ans=(ans%d+a[i%n]%d)%d;
}
cout<<ans%d;
return 0;
}
谢谢!必关
回复
共 5 条回复,欢迎继续交流。
正在加载回复...