QOJ.ac
QOJ
ID | Problem | Submitter | Result | Time | Memory | Language | File size | Submit time | Judge time |
---|---|---|---|---|---|---|---|---|---|
#528265 | #8268. Tycho | acwing_gza | 0 | 1ms | 6516kb | C++14 | 1.9kb | 2024-08-23 12:15:45 | 2024-08-23 12:15:45 |
answer
#include<bits/stdc++.h>
using namespace std;
namespace gza{
#define int long long
#define R read()
#define pb push_back
#define MT int TTT=R;while(TTT--)
#define pc putchar
#define fo(i,a,b) for(int i=a;i<=b;i++)
#define rep(i,a,b) for(int i=a;i>=b;i--)
#define m1(a,b) memset(a,b,sizeof a)
namespace IO
{
inline int read()
{
int x=0;
char ch=getchar();
bool f=0;
while(!isdigit(ch)){if(ch=='-') f=1;ch=getchar();}
while(isdigit(ch)) x=(x<<1)+(x<<3)+(ch^48),ch=getchar();
if(f) x=-x;
return x;
}
template<typename T> inline void write(T x)
{
if(x<0) pc('-'),x=-x;
if(x>9) write(x/10);
pc(x%10+'0');
}
};
namespace math
{
inline int gcd(int a,int b)
{
int az=__builtin_ctz(a),bz=__builtin_ctz(b),z=(az>bz)?bz:az,t;
b>>=bz;
while(a) a>>=az,t=a-b,b=a,az=__builtin_ctz(t<0?-t:t),a=t<0?-t:t;
return b<<z;
}
inline int qmi(int a,int b,int p)
{
int res=1;
while(b)
{
if(b&1) res=res*a%p;
a=a*a%p;
b>>=1;
}
return res;
}
const int MAXN=2e6+10;
int my_fac[MAXN],my_inv[MAXN];
void init_binom(int mod)
{
my_fac[0]=1;fo(i,1,min(MAXN,mod)-1) my_fac[i]=my_fac[i-1]*i%mod;
my_inv[min(MAXN,mod)-1]=qmi(my_fac[min(MAXN,mod)-1],mod-2,mod);rep(i,min(MAXN,mod)-2,0) my_inv[i]=my_inv[i+1]*(i+1)%mod;
}
int binom(int a,int b,int mod)
{
return my_fac[a]*my_inv[b]%mod*my_inv[a-b]%mod;
}
};
using namespace IO;
using namespace math;
const int N=1e5+10;
int b,p,d,n,ans=2e18;
int a[N],f[N];
void solve()
{
b=R,p=R,d=R,n=R;
fo(i,1,n) a[i]=R;
m1(f,0x5f),f[0]=0;
// cout<<f[1]<<endl;
fo(i,1,n) fo(j,0,i-1) f[i]=min(f[i],f[j]+a[i]-a[j]+(p-(a[i]-a[j])%p)+(a[i]-a[j]-1)/p*d);
fo(i,0,n) ans=min(ans,f[i]+(b-a[i])+(b-a[i]-1)/p*d);
write(ans);
}
void main(){
solve();
}
}
signed main(){
gza::main();
}
Details
Tip: Click on the bar to expand more detailed information
Subtask #1:
score: 0
Wrong Answer
Test #1:
score: 8
Accepted
time: 1ms
memory: 4404kb
input:
1000000000000 1 1000000 0
output:
1000000999999000000
result:
ok single line: '1000000999999000000'
Test #2:
score: 0
Wrong Answer
time: 1ms
memory: 5796kb
input:
100 10 11 10 10 11 20 30 38 49 50 60 70 90
output:
192
result:
wrong answer 1st lines differ - expected: '122', found: '192'
Subtask #2:
score: 0
Wrong Answer
Test #11:
score: 5
Accepted
time: 1ms
memory: 4468kb
input:
108 100 10000 5 10 20 30 40 98
output:
110
result:
ok single line: '110'
Test #12:
score: 5
Accepted
time: 1ms
memory: 4408kb
input:
118 100 10000 5 10 20 30 98 108
output:
120
result:
ok single line: '120'
Test #13:
score: 5
Accepted
time: 1ms
memory: 6516kb
input:
206 100 10000 5 10 20 30 98 196
output:
210
result:
ok single line: '210'
Test #14:
score: 5
Accepted
time: 1ms
memory: 5976kb
input:
128 100 10000 5 10 20 98 108 118
output:
130
result:
ok single line: '130'
Test #15:
score: 5
Accepted
time: 1ms
memory: 4396kb
input:
206 100 10000 5 10 20 98 108 196
output:
210
result:
ok single line: '210'
Test #16:
score: 5
Accepted
time: 1ms
memory: 6068kb
input:
216 100 10000 5 10 20 98 196 206
output:
220
result:
ok single line: '220'
Test #17:
score: 5
Accepted
time: 1ms
memory: 6424kb
input:
304 100 10000 5 10 20 98 196 294
output:
310
result:
ok single line: '310'
Test #18:
score: 5
Accepted
time: 1ms
memory: 6416kb
input:
138 100 10000 5 10 98 108 118 128
output:
140
result:
ok single line: '140'
Test #19:
score: 5
Accepted
time: 1ms
memory: 5868kb
input:
206 100 10000 5 10 98 108 118 196
output:
210
result:
ok single line: '210'
Test #20:
score: 5
Accepted
time: 1ms
memory: 5768kb
input:
216 100 10000 5 10 98 108 196 206
output:
220
result:
ok single line: '220'
Test #21:
score: 5
Accepted
time: 1ms
memory: 6352kb
input:
304 100 10000 5 10 98 108 196 294
output:
310
result:
ok single line: '310'
Test #22:
score: 5
Accepted
time: 1ms
memory: 5856kb
input:
226 100 10000 5 10 98 196 206 216
output:
230
result:
ok single line: '230'
Test #23:
score: 5
Accepted
time: 1ms
memory: 6512kb
input:
304 100 10000 5 10 98 196 206 294
output:
310
result:
ok single line: '310'
Test #24:
score: 5
Accepted
time: 1ms
memory: 6380kb
input:
314 100 10000 5 10 98 196 294 304
output:
320
result:
ok single line: '320'
Test #25:
score: 5
Accepted
time: 1ms
memory: 6492kb
input:
402 100 10000 5 10 98 196 294 392
output:
410
result:
ok single line: '410'
Test #26:
score: 5
Accepted
time: 1ms
memory: 4384kb
input:
148 100 10000 5 98 108 118 128 138
output:
150
result:
ok single line: '150'
Test #27:
score: 5
Accepted
time: 1ms
memory: 4384kb
input:
206 100 10000 5 98 108 118 128 196
output:
210
result:
ok single line: '210'
Test #28:
score: 5
Accepted
time: 1ms
memory: 4340kb
input:
216 100 10000 5 98 108 118 196 206
output:
220
result:
ok single line: '220'
Test #29:
score: 5
Accepted
time: 1ms
memory: 4376kb
input:
304 100 10000 5 98 108 118 196 294
output:
310
result:
ok single line: '310'
Test #30:
score: 5
Accepted
time: 1ms
memory: 5852kb
input:
226 100 10000 5 98 108 196 206 216
output:
230
result:
ok single line: '230'
Test #31:
score: 5
Accepted
time: 1ms
memory: 5940kb
input:
304 100 10000 5 98 108 196 206 294
output:
310
result:
ok single line: '310'
Test #32:
score: 5
Accepted
time: 1ms
memory: 4404kb
input:
314 100 10000 5 98 108 196 294 304
output:
320
result:
ok single line: '320'
Test #33:
score: 5
Accepted
time: 1ms
memory: 6452kb
input:
402 100 10000 5 98 108 196 294 392
output:
410
result:
ok single line: '410'
Test #34:
score: 5
Accepted
time: 1ms
memory: 4448kb
input:
236 100 10000 5 98 196 206 216 226
output:
240
result:
ok single line: '240'
Test #35:
score: 5
Accepted
time: 0ms
memory: 6508kb
input:
304 100 10000 5 98 196 206 216 294
output:
310
result:
ok single line: '310'
Test #36:
score: 5
Accepted
time: 1ms
memory: 6420kb
input:
314 100 10000 5 98 196 206 294 304
output:
320
result:
ok single line: '320'
Test #37:
score: 5
Accepted
time: 1ms
memory: 4376kb
input:
402 100 10000 5 98 196 206 294 392
output:
410
result:
ok single line: '410'
Test #38:
score: 5
Accepted
time: 1ms
memory: 4308kb
input:
324 100 10000 5 98 196 294 304 314
output:
330
result:
ok single line: '330'
Test #39:
score: 5
Accepted
time: 1ms
memory: 6364kb
input:
402 100 10000 5 98 196 294 304 392
output:
410
result:
ok single line: '410'
Test #40:
score: 5
Accepted
time: 1ms
memory: 4388kb
input:
412 100 10000 5 98 196 294 392 402
output:
420
result:
ok single line: '420'
Test #41:
score: 5
Accepted
time: 1ms
memory: 6236kb
input:
500 100 10000 5 98 196 294 392 490
output:
510
result:
ok single line: '510'
Test #42:
score: 0
Wrong Answer
time: 1ms
memory: 6508kb
input:
10 2 10 2 1 3
output:
43
result:
wrong answer 1st lines differ - expected: '41', found: '43'
Subtask #3:
score: 0
Skipped
Dependency #2:
0%
Subtask #4:
score: 0
Wrong Answer
Test #109:
score: 15
Accepted
time: 1ms
memory: 5872kb
input:
1000000000000 1 1000000 0
output:
1000000999999000000
result:
ok single line: '1000000999999000000'
Test #110:
score: 15
Accepted
time: 1ms
memory: 6492kb
input:
108 100 10000 5 10 20 30 40 98
output:
110
result:
ok single line: '110'
Test #111:
score: 15
Accepted
time: 1ms
memory: 6380kb
input:
118 100 10000 5 10 20 30 98 108
output:
120
result:
ok single line: '120'
Test #112:
score: 15
Accepted
time: 1ms
memory: 6436kb
input:
206 100 10000 5 10 20 30 98 196
output:
210
result:
ok single line: '210'
Test #113:
score: 15
Accepted
time: 1ms
memory: 6368kb
input:
128 100 10000 5 10 20 98 108 118
output:
130
result:
ok single line: '130'
Test #114:
score: 15
Accepted
time: 1ms
memory: 4384kb
input:
206 100 10000 5 10 20 98 108 196
output:
210
result:
ok single line: '210'
Test #115:
score: 15
Accepted
time: 1ms
memory: 5720kb
input:
216 100 10000 5 10 20 98 196 206
output:
220
result:
ok single line: '220'
Test #116:
score: 15
Accepted
time: 1ms
memory: 6296kb
input:
304 100 10000 5 10 20 98 196 294
output:
310
result:
ok single line: '310'
Test #117:
score: 15
Accepted
time: 1ms
memory: 6516kb
input:
138 100 10000 5 10 98 108 118 128
output:
140
result:
ok single line: '140'
Test #118:
score: 15
Accepted
time: 0ms
memory: 6456kb
input:
206 100 10000 5 10 98 108 118 196
output:
210
result:
ok single line: '210'
Test #119:
score: 15
Accepted
time: 0ms
memory: 6412kb
input:
216 100 10000 5 10 98 108 196 206
output:
220
result:
ok single line: '220'
Test #120:
score: 15
Accepted
time: 1ms
memory: 6328kb
input:
304 100 10000 5 10 98 108 196 294
output:
310
result:
ok single line: '310'
Test #121:
score: 15
Accepted
time: 1ms
memory: 6384kb
input:
226 100 10000 5 10 98 196 206 216
output:
230
result:
ok single line: '230'
Test #122:
score: 15
Accepted
time: 1ms
memory: 4388kb
input:
304 100 10000 5 10 98 196 206 294
output:
310
result:
ok single line: '310'
Test #123:
score: 15
Accepted
time: 1ms
memory: 5840kb
input:
314 100 10000 5 10 98 196 294 304
output:
320
result:
ok single line: '320'
Test #124:
score: 15
Accepted
time: 1ms
memory: 5820kb
input:
402 100 10000 5 10 98 196 294 392
output:
410
result:
ok single line: '410'
Test #125:
score: 15
Accepted
time: 1ms
memory: 4340kb
input:
148 100 10000 5 98 108 118 128 138
output:
150
result:
ok single line: '150'
Test #126:
score: 15
Accepted
time: 1ms
memory: 6512kb
input:
206 100 10000 5 98 108 118 128 196
output:
210
result:
ok single line: '210'
Test #127:
score: 15
Accepted
time: 1ms
memory: 6380kb
input:
216 100 10000 5 98 108 118 196 206
output:
220
result:
ok single line: '220'
Test #128:
score: 15
Accepted
time: 1ms
memory: 4380kb
input:
304 100 10000 5 98 108 118 196 294
output:
310
result:
ok single line: '310'
Test #129:
score: 15
Accepted
time: 1ms
memory: 6320kb
input:
226 100 10000 5 98 108 196 206 216
output:
230
result:
ok single line: '230'
Test #130:
score: 15
Accepted
time: 1ms
memory: 4392kb
input:
304 100 10000 5 98 108 196 206 294
output:
310
result:
ok single line: '310'
Test #131:
score: 15
Accepted
time: 0ms
memory: 5856kb
input:
314 100 10000 5 98 108 196 294 304
output:
320
result:
ok single line: '320'
Test #132:
score: 15
Accepted
time: 0ms
memory: 6288kb
input:
402 100 10000 5 98 108 196 294 392
output:
410
result:
ok single line: '410'
Test #133:
score: 15
Accepted
time: 1ms
memory: 6268kb
input:
236 100 10000 5 98 196 206 216 226
output:
240
result:
ok single line: '240'
Test #134:
score: 15
Accepted
time: 0ms
memory: 6172kb
input:
304 100 10000 5 98 196 206 216 294
output:
310
result:
ok single line: '310'
Test #135:
score: 15
Accepted
time: 0ms
memory: 6000kb
input:
314 100 10000 5 98 196 206 294 304
output:
320
result:
ok single line: '320'
Test #136:
score: 15
Accepted
time: 1ms
memory: 6324kb
input:
402 100 10000 5 98 196 206 294 392
output:
410
result:
ok single line: '410'
Test #137:
score: 15
Accepted
time: 1ms
memory: 6356kb
input:
324 100 10000 5 98 196 294 304 314
output:
330
result:
ok single line: '330'
Test #138:
score: 15
Accepted
time: 1ms
memory: 4464kb
input:
402 100 10000 5 98 196 294 304 392
output:
410
result:
ok single line: '410'
Test #139:
score: 15
Accepted
time: 1ms
memory: 6192kb
input:
412 100 10000 5 98 196 294 392 402
output:
420
result:
ok single line: '420'
Test #140:
score: 15
Accepted
time: 1ms
memory: 6428kb
input:
500 100 10000 5 98 196 294 392 490
output:
510
result:
ok single line: '510'
Test #141:
score: 0
Wrong Answer
time: 1ms
memory: 5824kb
input:
10 2 10 2 1 3
output:
43
result:
wrong answer 1st lines differ - expected: '41', found: '43'
Subtask #5:
score: 0
Skipped
Dependency #2:
0%
Subtask #6:
score: 0
Skipped
Dependency #1:
0%
Subtask #7:
score: 0
Skipped
Dependency #1:
0%