Submission #1940591


Source Code Expand

#include <algorithm>
#include <climits>
#include <cmath>
#include <cstdio>
#include <cstdlib>
#include <ctime>
#include <iostream>
#include <sstream>
#include <functional>
#include <map>
#include <string>
#include <cstring>
#include <vector>
#include <queue>
#include <stack>
#include <deque>
#include <set>
#include <list>
#include <numeric>
using namespace std;
typedef long long ll;
typedef unsigned long long ull;
typedef pair<ll,ll> P;
const double PI = 3.14159265358979323846;
const double EPS = 1e-12;
const ll INF = 1LL<<29;
const ll mod = 1e9+7;
#define rep(i,n) for(int (i)=0;(i)<(ll)(n);++(i))
#define repd(i,n,d) for(ll (i)=0;(i)<(ll)(n);(i)+=(d))
#define all(v) (v).begin(), (v).end()
#define pb(x) push_back(x)
#define mp(x,y) make_pair((x),(y))
#define mset(m,v) memset((m),(v),sizeof(m))
#define chmin(x,y) (x=min(x,y))
#define chmax(x,y) (x=max(x,y))
#define fst first
#define snd second
#define UNIQUE(x) (x).erase(unique(all(x)),(x).end())
template<class T> ostream &operator<<(ostream &os, const vector<T> &v){int n=v.size();rep(i,n)os<<v[i]<<(i==n-1?"":" ");return os;}
#define N 3001

ll d[N], n, m, r, t;
vector<P> g[N];

void dijk(int u){
	fill(d, d+N, INF);
	d[u] = 0;
	priority_queue<P, vector<P>, greater<P>> q;
	q.push(P(d[u], u));
	while(!q.empty()){
		P p = q.top(); q.pop();
		int u = p.snd, w = p.fst;
		if(d[u]<w) continue;
		for(auto x: g[u]){
			int v = x.fst, c = x.snd;
			if(c+w<d[v]){
				d[v] = c+w;
				q.push(P(d[v], v));
			}
		}
	}
}

int main(){
	cin>>n>>m>>r>>t;
	rep(i, m){
		int a, b, c;
		cin>>a>>b>>c;
		a--; b--;
		g[a].pb(P(b, c));
		g[b].pb(P(a, c));
	}
	ll res = 0;
	rep(i, n){
		dijk(i);
		sort(d, d+n);
		for(int j = 1; j < n; j++){
			int k = upper_bound(d+1, d+n, r*d[j]/t)-d;
			res += n-k;
			if(k<=j) res--;
		}
	}
	cout<<res<<endl;
	return 0;
}

Submission Info

Submission Time
Task C - ウサギとカメ
User Lepton
Language C++14 (GCC 5.4.1)
Score 100
Code Size 1892 Byte
Status AC
Exec Time 1139 ms
Memory 512 KB

Judge Result

Set Name Sample All
Score / Max Score 0 / 0 100 / 100
Status
AC × 2
AC × 18
Set Name Test Cases
Sample subtask0_sample-01.txt, subtask0_sample-02.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
Case Name Status Exec Time Memory
subtask0_sample-01.txt AC 1 ms 384 KB
subtask0_sample-02.txt AC 1 ms 384 KB
subtask1_01.txt AC 1 ms 384 KB
subtask1_02.txt AC 1 ms 384 KB
subtask1_03.txt AC 2 ms 384 KB
subtask1_04.txt AC 1 ms 384 KB
subtask1_05.txt AC 7 ms 384 KB
subtask1_06.txt AC 9 ms 384 KB
subtask1_07.txt AC 30 ms 512 KB
subtask1_08.txt AC 38 ms 384 KB
subtask1_09.txt AC 332 ms 512 KB
subtask1_10.txt AC 321 ms 384 KB
subtask1_11.txt AC 137 ms 512 KB
subtask1_12.txt AC 1048 ms 512 KB
subtask1_13.txt AC 1040 ms 512 KB
subtask1_14.txt AC 1124 ms 512 KB
subtask1_15.txt AC 764 ms 512 KB
subtask1_16.txt AC 1139 ms 512 KB