Submission #11185304


Source Code Expand

#include <bits/stdc++.h>
using namespace std;
typedef signed long long ll;

#undef _P
#define _P(...) (void)printf(__VA_ARGS__)
#define FOR(x,to) for(x=0;x<(to);x++)
#define FORR(x,arr) for(auto& x:arr)
#define ITR(x,c) for(__typeof(c.begin()) x=c.begin();x!=c.end();x++)
#define ALL(a) (a.begin()),(a.end())
#define ZERO(a) memset(a,0,sizeof(a))
#define MINUS(a) memset(a,0xff,sizeof(a))
//-------------------------------------------------------

int H,W;
ll A,B,C;
int N;
int Y[101010],X[101010];
ll D[505][505];
ll D2[505][505];

void solve() {
	int i,j,k,l,r,x,y; string s;
	
	cin>>H>>W;
	cin>>A>>B>>C;
	cin>>N;
	H++,W++;
	FOR(y,H) FOR(x,W) D[y][x]=D2[y][x]=1LL<<60;
	queue<int> Q;
	FOR(i,N) {
		cin>>Y[i]>>X[i];
		D[Y[i]][X[i]]=0;
		Q.push(Y[i]*1000+X[i]);
	}
	while(Q.size()) {
		y=Q.front()/1000;
		x=Q.front()%1000;
		Q.pop();
		int dd[4]={1,0,-1,0};
		FOR(i,4) {
			int ty=y+dd[i];
			int tx=x+dd[i^1];
			if(ty<0||ty>=H||tx<0||tx>=W) continue;
			if(D[ty][tx]>D[y][x]+C) {
				D[ty][tx]=D[y][x]+C;
				Q.push(ty*1000+tx);
			}
		}
	}
	priority_queue<pair<ll,int>> PQ;
	D2[Y[0]][X[0]]=0;
	PQ.push({0,Y[0]*1000+X[0]});
	while(PQ.size()) {
		ll co=-PQ.top().first;
		int cy=PQ.top().second/1000;
		int cx=PQ.top().second%1000;
		PQ.pop();
		if(D2[cy][cx]!=co) continue;
		if(cy==Y[N-1]&&cx==X[N-1]) {
			cout<<co<<endl;
			return;
		}
		int dd[4]={1,0,-1,0};
		FOR(i,4) {
			int ty=cy+dd[i];
			int tx=cx+dd[i^1];
			if(ty<0||ty>=H||tx<0||tx>=W) continue;
			if(D2[ty][tx]>co+C) {
				D2[ty][tx]=co+C;
				PQ.push({-D2[ty][tx],ty*1000+tx});
			}
		}
		for(y=1;cy-y>=0&&y<=100;y++) if(D2[cy-y][cx]>co+A*y+B+D[cy-y][cx]) {
			D2[cy-y][cx]=co+A*y+B+D[cy-y][cx];
			PQ.push({-D2[cy-y][cx],(cy-y)*1000+cx});
		}
		for(y=1;cy+y<H&&y<=100;y++) if(D2[cy+y][cx]>co+A*y+B+D[cy+y][cx]) {
			D2[cy+y][cx]=co+A*y+B+D[cy+y][cx];
			PQ.push({-D2[cy+y][cx],(cy+y)*1000+cx});
		}
		for(x=1;cx-x>=0&&x<=100;x++) if(D2[cy][cx-x]>co+A*x+B+D[cy][cx-x]) {
			D2[cy][cx-x]=co+A*x+B+D[cy][cx-x];
			PQ.push({-D2[cy][cx-x],cy*1000+cx-x});
		}
		for(x=1;cx+x<W&&x<=100;x++) if(D2[cy][cx+x]>co+A*x+B+D[cy][cx+x]) {
			D2[cy][cx+x]=co+A*x+B+D[cy][cx+x];
			PQ.push({-D2[cy][cx+x],cy*1000+cx+x});
		}
	}
	
}


int main(int argc,char** argv){
	string s;int i;
	if(argc==1) ios::sync_with_stdio(false), cin.tie(0);
	FOR(i,argc-1) s+=argv[i+1],s+='\n'; FOR(i,s.size()) ungetc(s[s.size()-1-i],stdin);
	cout.tie(0); solve(); return 0;
}

Submission Info

Submission Time
Task D - サッカー (Soccer)
User kmjp
Language C++14 (GCC 5.4.1)
Score 0
Code Size 2510 Byte
Status WA
Exec Time 3156 ms
Memory 72036 KB

Judge Result

Set Name Subtask01 Subtask02 Subtask03
Score / Max Score 0 / 5 0 / 30 0 / 65
Status
AC × 2
WA × 3
AC × 4
WA × 11
AC × 16
WA × 22
TLE × 1
Set Name Test Cases
Subtask01 01-01.txt, 01-02.txt, 01-03.txt, 01-04.txt, 01-05.txt, sample-02, sample-03
Subtask02 02-01.txt, 02-02.txt, 02-03.txt, 02-04.txt, 02-05.txt, 02-06.txt, 02-07.txt, 02-08.txt, 02-09.txt, 02-10.txt, 02-11.txt, 02-12.txt, 02-13.txt, 02-14.txt, 02-15.txt, sample-02, sample-03, sample-04
Subtask03 01-01.txt, 01-02.txt, 01-03.txt, 01-04.txt, 01-05.txt, 02-01.txt, 02-02.txt, 02-03.txt, 02-04.txt, 02-05.txt, 02-06.txt, 02-07.txt, 02-08.txt, 02-09.txt, 02-10.txt, 02-11.txt, 02-12.txt, 02-13.txt, 02-14.txt, 02-15.txt, 03-01.txt, 03-02.txt, 03-03.txt, 03-04.txt, 03-05.txt, 03-06.txt, 03-07.txt, 03-08.txt, 03-09.txt, 03-10.txt, 03-11.txt, 03-12.txt, 03-13.txt, 03-14.txt, 03-15.txt, sample-01.txt, sample-02.txt, sample-03.txt, sample-04.txt
Case Name Status Exec Time Memory
01-01.txt WA 44 ms 7920 KB
01-02.txt AC 2 ms 2688 KB
01-03.txt WA 52 ms 10224 KB
01-04.txt WA 100 ms 14572 KB
01-05.txt AC 83 ms 4856 KB
02-01.txt WA 92 ms 6516 KB
02-02.txt WA 29 ms 6516 KB
02-03.txt WA 62 ms 6132 KB
02-04.txt AC 289 ms 6516 KB
02-05.txt WA 75 ms 6516 KB
02-06.txt AC 102 ms 6516 KB
02-07.txt WA 24 ms 10644 KB
02-08.txt WA 16 ms 6516 KB
02-09.txt WA 67 ms 9236 KB
02-10.txt AC 8 ms 4988 KB
02-11.txt WA 34 ms 8688 KB
02-12.txt WA 25 ms 6516 KB
02-13.txt AC 63 ms 6132 KB
02-14.txt WA 42 ms 9968 KB
02-15.txt WA 20 ms 10516 KB
03-01.txt AC 123 ms 70240 KB
03-02.txt WA 206 ms 9584 KB
03-03.txt WA 244 ms 8560 KB
03-04.txt WA 154 ms 10036 KB
03-05.txt AC 130 ms 6516 KB
03-06.txt WA 216 ms 6584 KB
03-07.txt TLE 3156 ms 72036 KB
03-08.txt WA 419 ms 7660 KB
03-09.txt WA 338 ms 7544 KB
03-10.txt AC 235 ms 7544 KB
03-11.txt WA 39 ms 9236 KB
03-12.txt WA 79 ms 11508 KB
03-13.txt AC 117 ms 6516 KB
03-14.txt AC 16 ms 6552 KB
03-15.txt AC 335 ms 6524 KB
sample-01.txt AC 2 ms 2432 KB
sample-02.txt AC 2 ms 2304 KB
sample-03.txt AC 2 ms 2304 KB
sample-04.txt AC 2 ms 2304 KB