ID | 题目 | 提交者 | 结果 | 用时 | 内存 | 语言 | 文件大小 | 提交时间 | 测评时间 |
---|---|---|---|---|---|---|---|---|---|
#334 | #7. 「WyOJ Round 1」归 · 星穗垂野 | Pigsyy | 100 | 3379ms | 112724kb | C++23 | 1.1kb | 2025-04-18 20:56:33 | 2025-04-18 20:56:33 |
answer
#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
#define N 100000
int i,j,k,n,t;
ll f[N+50],a[N+50],b[N+50],res,c;
void add(int x,ll y){for(;x<=n;x+=(-x&x)){f[x]=min(f[x],y);}}
ll get(int x,ll y=0){for(;x;x-=(-x&x)){y=min(y,f[x]);}return y;}
vector<tuple<ll,ll,ll,ll> > q[N+50];
vector<pair<ll,ll> > q2[N+50];
int main(){
ios::sync_with_stdio(0); cin.tie(0);
int CNM; cin>>CNM;
while(CNM--){
map<int,int> NMSL,NMSL2;
cin>>n>>c; res=1e18;
for(i=1;i<=n;i++)cin>>a[i];
for(i=1;i<=n;i++){
cin>>b[i]; b[i]+=b[i-1];
}
for(i=1;i<=n;i++){
NMSL2={};
for(auto [x,y]:NMSL)NMSL2[gcd(x,a[i])]=y;
NMSL2[a[i]]=i; NMSL=NMSL2;
int lst=0;
for(auto [x,y]:NMSL){
k=min(y,i-x+1);
if(k>lst){
q[k-1].push_back({i,i-k+1,x,c+(b[i]-b[k-1])*x});
}
lst=y;
}
}
fill(f,f+n+1,1e18);
for(i=0;i<=n;i++){
for(auto [x,y]:q2[i]){res=min(res,y); add(x,y);}
for(auto [x,y,p,w]:q[i])q2[x].push_back({y,get(p)+w});
}
cout<<res<<'\n';
for(i=0;i<=n;i++)q[i]={},q2[i]={};
}
}
这程序好像有点Bug,我给组数据试试?
详细
小提示:点击横条可展开更详细的信息
Test #1:
score: 10
Accepted
time: 13ms
memory: 5432kb
input:
1000 10 -759451753 8 10 5 7 5 10 6 10 2 1 5 6 5 4 9 8 5 4 1 3 10 -953033990 4 10 10 8 8 2 1 7 4 1 0 ...
output:
-2278355214 -2859101918 -21349075 -1203387136 -1290642033 -851981042 -648655823 -1699966984 -1493814...
result:
ok 1000 numbers
Test #2:
score: 10
Accepted
time: 225ms
memory: 17924kb
input:
5 94253 6998801 88374 94432 21568 79110 3746 94223 86214 12083 54743 1622 16110 18595 18994 3665 547...
output:
6999125 764376403 718240695 1381649585 885156744
result:
ok 5 number(s): "6999125 764376403 718240695 1381649585 885156744"
Test #3:
score: 10
Accepted
time: 5ms
memory: 5564kb
input:
5 120 -848255662 53358 95098 92852 36846 80052 83050 44071 22632 50005 52339 7339 38495 66618 6337 5...
output:
-11025209476 -3953017107 -5975377615 -2466586019 -5823678268
result:
ok 5 number(s): "-11025209476 -3953017107 -5975377615 -2466586019 -5823678268"
Test #4:
score: 10
Accepted
time: 0ms
memory: 5440kb
input:
5 100 -964452256 94167 36596 60051 82090 55625 56197 94589 29844 14929 68497 81714 90264 66283 96767...
output:
-7714370390 -19569375783 -554464800 -1059581333 -6827008162
result:
ok 5 number(s): "-7714370390 -19569375783 -554464800 -1059581333 -6827008162"
Test #5:
score: 10
Accepted
time: 12ms
memory: 6156kb
input:
5 984 -715414516 65632 15191 55392 53178 88695 20308 44882 16528 12986 81169 76880 2239 81264 13866 ...
output:
-72952473687 -64021627506 -700730085 -994178012 -1624804963
result:
ok 5 number(s): "-72952473687 -64021627506 -700730085 -994178012 -1624804963"
Test #6:
score: 10
Accepted
time: 616ms
memory: 101912kb
input:
5 83593 -175988991 46605 26358 5204 30137 41225 11710 75224 14130 56433 62524 29873 59483 22318 2619...
output:
-1656361289384 -4920133073293 -1028097824 -2809116480 -22668175189
result:
ok 5 number(s): "-1656361289384 -4920133073293 ...097824 -2809116480 -22668175189"
Test #7:
score: 10
Accepted
time: 664ms
memory: 108856kb
input:
5 96302 -451340376 2672 47391 49737 61648 38099 10679 28316 91168 97182 40556 20560 89630 45931 9187...
output:
-4877361987440 -9327808595024 -261498007 97842263 -37427524204
result:
ok 5 number(s): "-4877361987440 -9327808595024 -261498007 97842263 -37427524204"
Test #8:
score: 10
Accepted
time: 671ms
memory: 112724kb
input:
5 82075 -915749780 41503 94470 21657 60519 10090 65640 80911 29436 63096 68715 79609 87499 26240 606...
output:
-8500967499879 -2162204721519 -803472133 -6968294203 -60694304098
result:
ok 5 number(s): "-8500967499879 -2162204721519 ...472133 -6968294203 -60694304098"
Test #9:
score: 10
Accepted
time: 597ms
memory: 103036kb
input:
5 86206 -158351237 12910 53574 97622 75378 61116 40492 87106 60678 72614 2146 43673 15147 23123 7469...
output:
-1508037508585 -4714642449519 -3202809425 -6778545312 -12974512083
result:
ok 5 number(s): "-1508037508585 -4714642449519 ...809425 -6778545312 -12974512083"
Test #10:
score: 10
Accepted
time: 576ms
memory: 102604kb
input:
5 87683 -236086252 88768 76878 54808 98282 70961 83599 48353 34381 40413 95288 24241 74500 52966 994...
output:
-2319782085288 -10990638538852 -1651187059 -12428157994 -22719490815
result:
ok 5 number(s): "-2319782085288 -10990638538852...87059 -12428157994 -22719490815"
Extra Test:
score: 0
Extra Test Passed