Submission #1589133
Source Code Expand
#include "bits/stdc++.h"
using namespace std;
#define FOR(i,j,k) for(int (i)=(j);(i)<(int)(k);++(i))
#define rep(i,j) FOR(i,0,j)
#define each(x,y) for(auto &(x):(y))
#define mp make_pair
#define MT make_tuple
#define all(x) (x).begin(),(x).end()
#define debug(x) cout<<#x<<": "<<(x)<<endl
#define smax(x,y) (x)=max((x),(y))
#define smin(x,y) (x)=min((x),(y))
#define MEM(x,y) memset((x),(y),sizeof (x))
#define sz(x) (int)(x).size()
#define rt return
using dbl = double;
using ll = long long;
using pii = pair<int, int>;
using vi = vector<int>;
using vll = vector<ll>;
// time, who(usa:0, kame:1), pos, start_pos
using P = tuple<ll, int, int, int>;
using E = pair<int, ll>;
vector<E> G[2501];
ll kame[2501];
int vis[2][2501][2501];
int main(){
ios::sync_with_stdio(false);
cin.tie(0);
ll N, M, R, T;
cin >> N >> M >> R >> T;
rep(i, M) {
int a, b, c;
cin >> a >> b >> c;
--a; --b;
ll d = R*T*c;
G[a].push_back({ b,d });
G[b].push_back({ a,d });
}
priority_queue<P, vector<P>, greater<P> > q;
rep(i, N) {
rep(j, 2)q.push(P(0, j, i, i));
}
ll ans = 0;
while (sz(q)) {
ll t;
int w, u, s;
tie(t, w, u, s) = q.top();
q.pop();
if (vis[w][u][s]++)continue;
if (u != s) {
if (w == 0) {
ans += kame[u];
// スタート地点が同じ
if (vis[1][u][s])ans--;
} else {
kame[u]++;
}
}
ll x = w == 0 ? R : T;
each(e, G[u]) {
int v;
ll d;
tie(v, d) = e;
if (!vis[w][v][s]) {
q.push(P(t + d / x, w, v, s));
}
}
}
cout << ans << endl;
}
Submission Info
Submission Time |
|
Task |
C - ウサギとカメ |
User |
paruki |
Language |
C++14 (GCC 5.4.1) |
Score |
100 |
Code Size |
1868 Byte |
Status |
AC |
Exec Time |
6079 ms |
Memory |
148960 KB |
Judge Result
Set Name |
Sample |
All |
Score / Max Score |
0 / 0 |
100 / 100 |
Status |
|
|
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 |
2 ms |
2432 KB |
subtask0_sample-02.txt |
AC |
2 ms |
2432 KB |
subtask1_01.txt |
AC |
2 ms |
4480 KB |
subtask1_02.txt |
AC |
2 ms |
4608 KB |
subtask1_03.txt |
AC |
2 ms |
4608 KB |
subtask1_04.txt |
AC |
2 ms |
2432 KB |
subtask1_05.txt |
AC |
17 ms |
5696 KB |
subtask1_06.txt |
AC |
41 ms |
7032 KB |
subtask1_07.txt |
AC |
574 ms |
60900 KB |
subtask1_08.txt |
AC |
305 ms |
23788 KB |
subtask1_09.txt |
AC |
1994 ms |
82020 KB |
subtask1_10.txt |
AC |
1172 ms |
45164 KB |
subtask1_11.txt |
AC |
933 ms |
44268 KB |
subtask1_12.txt |
AC |
4432 ms |
98788 KB |
subtask1_13.txt |
AC |
4456 ms |
100068 KB |
subtask1_14.txt |
AC |
6079 ms |
148064 KB |
subtask1_15.txt |
AC |
4442 ms |
94692 KB |
subtask1_16.txt |
AC |
6025 ms |
148960 KB |