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,&lt,&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
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,&lt,&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,&lt,&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,&lt,&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,&lt,&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,&lt,&rt,&c);
      |                 ~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Judge Result

Set Name Sample All
Score / Max Score 0 / 0 0 / 625
Status
AC × 2
AC × 78
TLE × 1
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