Submission #67562418
Source Code Expand
#pragma GCC optimize(3)
#include<bits/stdc++.h>
#define ll long long
#define M 998244353
using namespace std;
struct nde{
int l,r,dy;
} gip[400010],gin[400010],gop[400010],gon[400010];
int hea[10000000],nex[10000000],to[10000000];
ll wei[10000000];
ll dis[10000000];
int inq[10000000];
ll lc[10000000];
ll lf,rf,lt,rt,c;
deque<int> q;
int n,m;
int pc;
int p;
void ae(int x,int y,ll w){
nex[++p]=hea[x];
hea[x]=p;
to[p]=y;
wei[p]=w;
}
void btip(int p,int l,int r){
gip[p].l=l;
gip[p].r=r;
gip[p].dy=++pc;
if(l==r) ae(gip[p].dy,l,lc[l]);
else{
btip(p*2,l,(l+r)/2);
btip(p*2+1,(l+r)/2+1,r);
ae(gip[p].dy,gip[p*2].dy,0);
ae(gip[p].dy,gip[p*2+1].dy,0);
}
}
void btin(int p,int l,int r){
gin[p].l=l;
gin[p].r=r;
gin[p].dy=++pc;
if(l==r) ae(gin[p].dy,l,-lc[l]);
else{
btin(p*2,l,(l+r)/2);
btin(p*2+1,(l+r)/2+1,r);
ae(gin[p].dy,gin[p*2].dy,0);
ae(gin[p].dy,gin[p*2+1].dy,0);
}
}
void btop(int p,int l,int r){
gop[p].l=l;
gop[p].r=r;
gop[p].dy=++pc;
if(l==r) ae(l,gop[p].dy,lc[l]);
else{
btop(p*2,l,(l+r)/2);
btop(p*2+1,(l+r)/2+1,r);
ae(gop[p*2].dy,gop[p].dy,0);
ae(gop[p*2+1].dy,gop[p].dy,0);
}
}
void bton(int p,int l,int r){
gon[p].l=l;
gon[p].r=r;
gon[p].dy=++pc;
if(l==r) ae(l,gon[p].dy,-lc[l]);
else{
bton(p*2,l,(l+r)/2);
bton(p*2+1,(l+r)/2+1,r);
ae(gon[p*2].dy,gon[p].dy,0);
ae(gon[p*2+1].dy,gon[p].dy,0);
}
}
void aet(nde g[],int p,int l,int r,int ot,int to,ll w){
l=max(l,g[p].l);
r=min(r,g[p].r);
if(l>r) return ;
if(l==g[p].l&&r==g[p].r){
if(ot==1) ae(g[p].dy,to,w);
else ae(to,g[p].dy,w);
return ;
}
aet(g,p*2,l,r,ot,to,w);
aet(g,p*2+1,l,r,ot,to,w);
}
int main(){
scanf("%d%d",&n,&m);
for(int i=1;i<=n;i++) scanf("%lld",&lc[i]);
pc=n;
btip(1,1,n);
btin(1,1,n);
btop(1,1,n);
bton(1,1,n);
while(m--){
scanf("%d%d%d%d%lld",&lf,&rf,<,&rt,&c);
pc++;
if(rf<=lt){
aet(gon,1,lf,rf,1,pc,0);
aet(gip,1,lt,rt,0,pc,c);
}
else{
aet(gop,1,lf,rf,1,pc,0);
aet(gin,1,lt,rt,0,pc,c);
}
}
ll inf=5e18;
for(int i=2;i<=pc;i++) dis[i]=inf;
inq[1]=1;
q.push_front(1);
while(!q.empty()){
int tmp=q.front(),tmp2=q.back();
q.pop_front();
if(!q.empty()){
q.pop_back();
if(dis[tmp]>dis[tmp2]) swap(tmp,tmp2);
q.push_back(tmp2);
}
inq[tmp]=0;
for(int i=hea[tmp];i!=0;i=nex[i]){
if(dis[to[i]]>dis[tmp]+wei[i]){
dis[to[i]]=dis[tmp]+wei[i];
if(inq[to[i]]==0){
inq[to[i]]=1;
if(!q.empty()){
if(dis[to[i]]<dis[q.front()]) q.push_front(to[i]);
else q.push_back(to[i]);
}
else q.push_back(to[i]);
}
}
}
}
for(int i=2;i<=n;i++){
if(dis[i]<inf) printf("%lld ",dis[i]);
else printf("-1 ");
}
printf("\n");
return 0;
}
Submission Info
Submission Time
2025-07-12 23:12:21+0900
Task
G - AtCoder Express 4
User
ljy05
Language
C++ 20 (gcc 12.2)
Score
0
Code Size
2813 Byte
Status
TLE
Exec Time
2765 ms
Memory
101300 KiB
Compile Error
Main.cpp: In function ‘int main()’:
Main.cpp:94:25: warning: format ‘%d’ expects argument of type ‘int*’, but argument 2 has type ‘long long int*’ [-Wformat=]
94 | scanf("%d%d%d%d%lld",&lf,&rf,<,&rt,&c);
| ~^ ~~~
| | |
| int* long long int*
| %lld
Main.cpp:94:27: warning: format ‘%d’ expects argument of type ‘int*’, but argument 3 has type ‘long long int*’ [-Wformat=]
94 | scanf("%d%d%d%d%lld",&lf,&rf,<,&rt,&c);
| ~^ ~~~
| | |
| int* long long int*
| %lld
Main.cpp:94:29: warning: format ‘%d’ expects argument of type ‘int*’, but argument 4 has type ‘long long int*’ [-Wformat=]
94 | scanf("%d%d%d%d%lld",&lf,&rf,<,&rt,&c);
| ~^ ~~~
| | |
| int* long long int*
| %lld
Main.cpp:94:31: warning: format ‘%d’ expects argument of type ‘int*’, but argument 5 has type ‘long long int*’ [-Wformat=]
94 | scanf("%d%d%d%d%lld",&lf,&rf,<,&rt,&c);
| ~^ ~~~
| | |
| int* long long int*
| %lld
Main.cpp:86:14: warning: ignoring return value of ‘int scanf(const char*, ...)’ declared with attribute ‘warn_unused_result’ [-Wunused-result]
86 | scanf("%d%d",&n,&m);
| ~~~~~^~~~~~~~~~~~~~
Main.cpp:87:36: warning: ignoring return value of ‘int scanf(const char*, ...)’ declared with attribute ‘warn_unused_result’ [-Wunused-result]
87 | for(int i=1;i<=n;i++) scanf("%lld",&lc[i]);
| ~~~~~^~~~~~~~~~~~~~~
Main.cpp:94:22: warning: ignoring return value of ‘int scanf(const char*, ...)’ declared with attribute ‘warn_unused_result’ [-Wunused-result]
94 | scanf("%d%d%d%d%lld",&lf,&rf,<,&rt,&c);
| ~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Judge Result
Set Name
Sample
All
Score / Max Score
0 / 0
0 / 625
Status
Set Name
Test Cases
Sample
00_sample_00.txt, 00_sample_01.txt
All
00_sample_00.txt, 00_sample_01.txt, 01_test_00.txt, 01_test_01.txt, 01_test_02.txt, 01_test_03.txt, 01_test_04.txt, 01_test_05.txt, 01_test_06.txt, 01_test_07.txt, 02_test_00.txt, 02_test_01.txt, 02_test_02.txt, 02_test_03.txt, 02_test_04.txt, 02_test_05.txt, 02_test_06.txt, 02_test_07.txt, 02_test_08.txt, 02_test_09.txt, 02_test_10.txt, 02_test_11.txt, 02_test_12.txt, 02_test_13.txt, 02_test_14.txt, 02_test_15.txt, 03_test_00.txt, 03_test_01.txt, 03_test_02.txt, 04_test_00.txt, 04_test_01.txt, 04_test_02.txt, 05_test_00.txt, 05_test_01.txt, 05_test_02.txt, 05_test_03.txt, 05_test_04.txt, 05_test_05.txt, 06_test_00.txt, 06_test_01.txt, 06_test_02.txt, 06_test_03.txt, 07_test_00.txt, 07_test_01.txt, 07_test_02.txt, 07_test_03.txt, 07_test_04.txt, 07_test_05.txt, 08_test_00.txt, 08_test_01.txt, 08_test_02.txt, 08_test_03.txt, 09_test_00.txt, 10_test_00.txt, 10_test_01.txt, 10_test_02.txt, 10_test_03.txt, 10_test_04.txt, 10_test_05.txt, 11_test_00.txt, 11_test_01.txt, 11_test_02.txt, 11_test_03.txt, 11_test_04.txt, 11_test_05.txt, 11_test_06.txt, 11_test_07.txt, 11_test_08.txt, 11_test_09.txt, 11_test_10.txt, 11_test_11.txt, 11_test_12.txt, 11_test_13.txt, 12_test_00.txt, 12_test_01.txt, 13_test_00.txt, 13_test_01.txt, 13_test_02.txt, 13_test_03.txt
Case Name
Status
Exec Time
Memory
00_sample_00.txt
AC
1 ms
3748 KiB
00_sample_01.txt
AC
1 ms
3768 KiB
01_test_00.txt
AC
599 ms
60204 KiB
01_test_01.txt
AC
820 ms
73988 KiB
01_test_02.txt
AC
602 ms
65336 KiB
01_test_03.txt
AC
583 ms
58064 KiB
01_test_04.txt
AC
695 ms
65260 KiB
01_test_05.txt
AC
440 ms
57900 KiB
01_test_06.txt
AC
528 ms
58028 KiB
01_test_07.txt
AC
908 ms
65516 KiB
02_test_00.txt
AC
424 ms
59924 KiB
02_test_01.txt
AC
590 ms
60124 KiB
02_test_02.txt
AC
871 ms
73540 KiB
02_test_03.txt
AC
875 ms
73452 KiB
02_test_04.txt
AC
566 ms
64964 KiB
02_test_05.txt
AC
684 ms
65148 KiB
02_test_06.txt
AC
347 ms
57840 KiB
02_test_07.txt
AC
443 ms
57712 KiB
02_test_08.txt
AC
636 ms
65052 KiB
02_test_09.txt
AC
846 ms
64896 KiB
02_test_10.txt
AC
302 ms
57884 KiB
02_test_11.txt
AC
342 ms
57844 KiB
02_test_12.txt
AC
355 ms
57772 KiB
02_test_13.txt
AC
394 ms
57920 KiB
02_test_14.txt
AC
739 ms
65104 KiB
02_test_15.txt
AC
835 ms
65168 KiB
03_test_00.txt
AC
146 ms
67792 KiB
03_test_01.txt
AC
155 ms
69588 KiB
03_test_02.txt
AC
117 ms
64196 KiB
04_test_00.txt
AC
150 ms
67548 KiB
04_test_01.txt
AC
157 ms
69612 KiB
04_test_02.txt
AC
167 ms
65736 KiB
05_test_00.txt
AC
210 ms
79548 KiB
05_test_01.txt
AC
206 ms
79272 KiB
05_test_02.txt
AC
195 ms
71556 KiB
05_test_03.txt
AC
700 ms
68516 KiB
05_test_04.txt
TLE
2765 ms
63796 KiB
05_test_05.txt
AC
186 ms
58852 KiB
06_test_00.txt
AC
369 ms
73572 KiB
06_test_01.txt
AC
394 ms
68060 KiB
06_test_02.txt
AC
1592 ms
63800 KiB
06_test_03.txt
AC
184 ms
58520 KiB
07_test_00.txt
AC
163 ms
76060 KiB
07_test_01.txt
AC
155 ms
72908 KiB
07_test_02.txt
AC
154 ms
71776 KiB
07_test_03.txt
AC
157 ms
66888 KiB
07_test_04.txt
AC
161 ms
61820 KiB
07_test_05.txt
AC
174 ms
57496 KiB
08_test_00.txt
AC
165 ms
72940 KiB
08_test_01.txt
AC
156 ms
66364 KiB
08_test_02.txt
AC
164 ms
61544 KiB
08_test_03.txt
AC
174 ms
57200 KiB
09_test_00.txt
AC
98 ms
53536 KiB
10_test_00.txt
AC
149 ms
67792 KiB
10_test_01.txt
AC
159 ms
69980 KiB
10_test_02.txt
AC
138 ms
64788 KiB
10_test_03.txt
AC
96 ms
81344 KiB
10_test_04.txt
AC
102 ms
84936 KiB
10_test_05.txt
AC
107 ms
87484 KiB
11_test_00.txt
AC
530 ms
80448 KiB
11_test_01.txt
AC
617 ms
83892 KiB
11_test_02.txt
AC
647 ms
82804 KiB
11_test_03.txt
AC
757 ms
74356 KiB
11_test_04.txt
AC
579 ms
65024 KiB
11_test_05.txt
AC
332 ms
58136 KiB
11_test_06.txt
AC
198 ms
55180 KiB
11_test_07.txt
AC
504 ms
84228 KiB
11_test_08.txt
AC
601 ms
84624 KiB
11_test_09.txt
AC
614 ms
82164 KiB
11_test_10.txt
AC
719 ms
74304 KiB
11_test_11.txt
AC
516 ms
65076 KiB
11_test_12.txt
AC
287 ms
58052 KiB
11_test_13.txt
AC
171 ms
55096 KiB
12_test_00.txt
AC
1 ms
3828 KiB
12_test_01.txt
AC
30 ms
8740 KiB
13_test_00.txt
AC
81 ms
52912 KiB
13_test_01.txt
AC
81 ms
53028 KiB
13_test_02.txt
AC
139 ms
101300 KiB
13_test_03.txt
AC
121 ms
82508 KiB