Submission #352453


Source Code Expand

#include<cstdio>
#include<cstdlib>
#include<iostream>
#include<cmath>
#include<vector>
#include<map>
#include<queue>
#include<algorithm>
using namespace std;
#define rep2(x,from,to) for(long long x=(from);(x)<(to);(x)++)
#define rep(x,to) rep2(x,0,to)
#define INF 10000000000000000
typedef pair<long long ,long long> P;
struct edge
{
	long long to;
	long long cost;
};
edge ee;
long long D[400][400]; 
vector<edge> G[401];
long long d[401];
long long n,m;
long long a,b,c,k;
long long ans;
long long V,E;
void dijkstra(long long s)
{
	priority_queue<P,vector<P>,greater<P> > que;
	que.push(P(0,s));
	fill(d,d+V,INF);
	d[s]=0;
	while(!que.empty())
	{
		P p=que.top();que.pop();
		long long v=p.second;
		if(d[v]<p.first)continue;
		rep(i,G[v].size())
		{
			edge e=G[v][i];
			if(d[e.to]>d[v]+e.cost)
			{
				d[e.to]=d[v]+e.cost;
				que.push(P(d[e.to],e.to));
			}
		}
	}
}
int main()
{
	cin>>n>>m;
	V=n;
	E=m;
	rep(i,m)
	{
		cin>>a>>b>>c;
		a--;b--;
		ee.to=a;
		ee.cost=c;
		G[b].push_back(ee);
		ee.to=b;
		G[a].push_back(ee);
	}
	rep(i,n)
	{
		dijkstra(i);
		rep(j,n)
		{
			D[i][j]=d[j];
		}
	}
	cin>>k;
	rep(t,k)
	{
		cin>>a>>b>>c;
		a--;b--;
		rep(i,n)
		{
			rep(j,n)
			{
				if(i==j)continue;
				if(D[i][a]+c+D[b][j]<D[i][j])
				{
					D[i][j]=D[i][a]+c+D[b][j];
				}
				if(D[i][b]+c+D[a][j]<D[i][j])
				{
					D[i][j]=D[i][b]+c+D[a][j];
				}
			}
		}
		ans=0;
		rep(i,n)rep2(j,i+1,n)
		{
			ans+=D[i][j];
		}
		cout<<ans<<endl;
	}
	return 0;
}

Submission Info

Submission Time
Task C - アットコーダー王国の交通事情
User tainohimono
Language C++ (GCC 4.9.2)
Score 100
Code Size 1560 Byte
Status AC
Exec Time 344 ms
Memory 2192 KiB

Judge Result

Set Name Sample Subtask1 All
Score / Max Score 0 / 0 10 / 10 90 / 90
Status
AC × 2
AC × 31
AC × 31
Set Name Test Cases
Sample subtask0_sample_01.txt, subtask0_sample_02.txt
Subtask1 subtask0_sample_01.txt, subtask0_sample_02.txt, subtask0_sample_03.txt, subtask1_01.txt, subtask1_02.txt, subtask1_03.txt, subtask1_04.txt, subtask1_05.txt, subtask1_06.txt, subtask1_07.txt, subtask1_08.txt, subtask1_09.txt, subtask1_10.txt, subtask1_11.txt, subtask1_12.txt, subtask1_13.txt, subtask1_14.txt, subtask1_15.txt, subtask1_16.txt, subtask1_17.txt, subtask1_18.txt, subtask1_19.txt, subtask1_20.txt, subtask1_21.txt, subtask1_22.txt, subtask1_23.txt, subtask1_24.txt, subtask1_25.txt, subtask1_26.txt, subtask1_27.txt, subtask1_28.txt, subtask1_29.txt
All subtask0_sample_01.txt, subtask0_sample_02.txt, subtask1_01.txt, subtask1_02.txt, subtask1_03.txt, subtask1_04.txt, subtask1_05.txt, subtask1_06.txt, subtask1_07.txt, subtask1_08.txt, subtask1_09.txt, subtask1_10.txt, subtask1_11.txt, subtask1_12.txt, subtask1_13.txt, subtask1_14.txt, subtask1_15.txt, subtask1_16.txt, subtask1_17.txt, subtask1_18.txt, subtask1_19.txt, subtask1_20.txt, subtask1_21.txt, subtask1_22.txt, subtask1_23.txt, subtask1_24.txt, subtask1_25.txt, subtask1_26.txt, subtask1_27.txt, subtask1_28.txt, subtask1_29.txt
Case Name Status Exec Time Memory
subtask0_sample_01.txt AC 24 ms 748 KiB
subtask0_sample_02.txt AC 24 ms 920 KiB
subtask1_01.txt AC 24 ms 936 KiB
subtask1_02.txt AC 265 ms 2068 KiB
subtask1_03.txt AC 276 ms 2192 KiB
subtask1_04.txt AC 298 ms 2092 KiB
subtask1_05.txt AC 297 ms 2084 KiB
subtask1_06.txt AC 298 ms 2032 KiB
subtask1_07.txt AC 300 ms 2096 KiB
subtask1_08.txt AC 295 ms 2024 KiB
subtask1_09.txt AC 303 ms 2076 KiB
subtask1_10.txt AC 294 ms 2092 KiB
subtask1_11.txt AC 294 ms 2012 KiB
subtask1_12.txt AC 295 ms 2088 KiB
subtask1_13.txt AC 300 ms 2084 KiB
subtask1_14.txt AC 303 ms 2068 KiB
subtask1_15.txt AC 297 ms 2076 KiB
subtask1_16.txt AC 304 ms 2140 KiB
subtask1_17.txt AC 300 ms 2084 KiB
subtask1_18.txt AC 298 ms 2088 KiB
subtask1_19.txt AC 300 ms 2080 KiB
subtask1_20.txt AC 297 ms 2096 KiB
subtask1_21.txt AC 303 ms 2084 KiB
subtask1_22.txt AC 312 ms 2140 KiB
subtask1_23.txt AC 344 ms 2100 KiB
subtask1_24.txt AC 35 ms 932 KiB
subtask1_25.txt AC 34 ms 1048 KiB
subtask1_26.txt AC 31 ms 932 KiB
subtask1_27.txt AC 32 ms 932 KiB
subtask1_28.txt AC 32 ms 876 KiB
subtask1_29.txt AC 27 ms 792 KiB