Submission #9155555
Source Code Expand
#include<iostream>
#include<algorithm>
#include<string>
#include<vector>
#include<cmath>
#include<queue>
#define int long long
#define mod 1000000007
#define for0(i, n) for(int i = 0; i < (n); i++)
#define for1(i, n) for(int i = 1; i <= (n);i++)
#define mp make_pair
#define F first
#define S second
#define P pair<int,int>
using namespace std;
bool x[200000];
int xs[200000],xw[200000];
vector<pair<P,int>> vs[200000], vw[200000];
priority_queue<P, vector<P>, greater<P>> q1, q2;
int mutu(int va,bool s,bool w) {
if (!va) return 1;
int ans = 0;
for0(i, vs[va].size()) {
bool bs = false, bw = false;
if (s&&(xs[vs[va][i].first.first] == (xs[va] - vs[va][i].first.second)))bs = true;
if (w&&(xw[vw[va][i].first.first] == (xw[va] - vw[va][i].first.second)))bw = true;
if(bs||bw){
ans+=mutu(vs[va][i].first.first,bs,bw);
}
}
return ans;
}
int mu2(int va) {
if (!va) return 1;
int ans = 0;
for0(i, vw[va].size()) {
if (xw[vw[va][i].first.first] == xw[va] - vw[va][i].first.second) {
x[vw[va][i].second] = true;
ans+=mu2(vw[va][i].first.first);
}
}
return ans;
}
signed main(){
int a, b, ans = 0;
cin >> a >> b;
for0(i, b) {
int va, vb, vc, vd;
cin >> va >> vb >> vc >> vd;
va--, vb--;
vs[va].push_back({ { vb,vc },i });
vs[vb].push_back({ { va,vc },i });
vw[va].push_back({ { vb,vd },i });
vw[vb].push_back({ { va,vd },i });
}
for0(i, a) {
xs[i] = 100000000000;
xw[i] = 100000000000;
}
xs[0] = 0;
xw[0] = 0;
q1.push({ 0,0 });
while (q1.size()) {
P p = q1.top();
q1.pop();
if (xs[p.second] < p.first) continue;
for0(i, (int)vs[p.second].size()) {
if (xs[vs[p.second][i].first.first] > p.first + vs[p.second][i].first.second) {
xs[vs[p.second][i].first.first] = p.first + vs[p.second][i].first.second;
q1.push({ p.first + vs[p.second][i].first.second, vs[p.second][i].first.first });
}
}
}
q2.push({ 0,0 });
while (q2.size()) {
P p = q2.top();
q2.pop();
if (xw[p.second] < p.first)continue;
for0(i, (int)vw[p.second].size()) {
if (xw[vw[p.second][i].first.first] > p.first + vw[p.second][i].first.second) {
xw[vw[p.second][i].first.first] = p.first + vw[p.second][i].first.second;
q2.push({ p.first + vw[p.second][i].first.second, vw[p.second][i].first.first });
}
}
}
cout << mutu(a-1,true,true) << endl;
}
Submission Info
| Submission Time | |
|---|---|
| Task | E - IOI のために |
| User | ND76 |
| Language | C++14 (GCC 5.4.1) |
| Score | 15 |
| Code Size | 2401 Byte |
| Status | WA |
| Exec Time | 2107 ms |
| Memory | 53504 KiB |
Judge Result
| Set Name | Sample | Subtask1 | Subtask2 | Subtask3 | Subtask4 | Subtask5 | ||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Score / Max Score | 0 / 0 | 0 / 5 | 15 / 15 | 0 / 20 | 0 / 35 | 0 / 25 | ||||||||||||||||||||||
| Status |
|
|
|
|
|
|
| Set Name | Test Cases |
|---|---|
| Sample | sample_01.txt, sample_02.txt, sample_03.txt |
| Subtask1 | sub1_01.txt, sub1_02.txt, sub1_03.txt, sub1_04.txt |
| Subtask2 | sub2_01.txt, sub2_02.txt, sub2_03.txt, sub2_04.txt, sub2_05.txt, sub2_06.txt, sub2_07.txt, sub2_08.txt, sub2_09.txt, sub2_10.txt, sub2_11.txt, sub2_12.txt, sub2_13.txt, sub2_14.txt, sub2_15.txt, sub2_16.txt, sub2_17.txt, sub2_18.txt, sub2_19.txt, sub2_20.txt, sub2_21.txt, sub2_22.txt, sub2_23.txt, sub2_24.txt, sub2_25.txt, sample_01.txt, sample_02.txt |
| Subtask3 | sub3_01.txt, sub3_02.txt, sub3_03.txt, sub4_3_01.txt, sub4_3_02.txt, sub4_3_03.txt, sub4_3_04.txt, sub4_3_05.txt, sub4_3_06.txt, sub4_3_07.txt, sub4_3_08.txt, sub4_3_09.txt, sub4_3_10.txt, sub4_3_11.txt, sub4_3_12.txt |
| Subtask4 | sub2_01.txt, sub2_02.txt, sub2_03.txt, sub2_04.txt, sub2_05.txt, sub2_06.txt, sub2_07.txt, sub2_08.txt, sub2_09.txt, sub2_10.txt, sub2_11.txt, sub2_12.txt, sub2_13.txt, sub2_14.txt, sub2_15.txt, sub2_16.txt, sub2_17.txt, sub2_18.txt, sub2_19.txt, sub2_20.txt, sub2_21.txt, sub2_22.txt, sub2_23.txt, sub2_24.txt, sub2_25.txt, sub4_01.txt, sub4_02.txt, sub4_03.txt, sub4_04.txt, sub4_05.txt, sub4_06.txt, sub4_07.txt, sub4_08.txt, sub4_09.txt, sub4_10.txt, sub4_11.txt, sub4_12.txt, sub4_3_01.txt, sub4_3_02.txt, sub4_3_03.txt, sub4_3_04.txt, sub4_3_05.txt, sub4_3_06.txt, sub4_3_07.txt, sub4_3_08.txt, sub4_3_09.txt, sub4_3_10.txt, sub4_3_11.txt, sub4_3_12.txt, sample_01.txt, sample_02.txt, sample_03.txt |
| Subtask5 | sample_01.txt, sample_02.txt, sample_03.txt, sub1_01.txt, sub1_02.txt, sub1_03.txt, sub1_04.txt, sub2_01.txt, sub2_02.txt, sub2_03.txt, sub2_04.txt, sub2_05.txt, sub2_06.txt, sub2_07.txt, sub2_08.txt, sub2_09.txt, sub2_10.txt, sub2_11.txt, sub2_12.txt, sub2_13.txt, sub2_14.txt, sub2_15.txt, sub2_16.txt, sub2_17.txt, sub2_18.txt, sub2_19.txt, sub2_20.txt, sub2_21.txt, sub2_22.txt, sub2_23.txt, sub2_24.txt, sub2_25.txt, sub3_01.txt, sub3_02.txt, sub3_03.txt, sub4_01.txt, sub4_02.txt, sub4_03.txt, sub4_04.txt, sub4_05.txt, sub4_06.txt, sub4_07.txt, sub4_08.txt, sub4_09.txt, sub4_10.txt, sub4_11.txt, sub4_12.txt, sub4_3_01.txt, sub4_3_02.txt, sub4_3_03.txt, sub4_3_04.txt, sub4_3_05.txt, sub4_3_06.txt, sub4_3_07.txt, sub4_3_08.txt, sub4_3_09.txt, sub4_3_10.txt, sub4_3_11.txt, sub4_3_12.txt, sub5_01.txt, sub5_02.txt, sub5_03.txt, sub5_04.txt, sub5_05.txt |
| Case Name | Status | Exec Time | Memory |
|---|---|---|---|
| sample_01.txt | AC | 5 ms | 12544 KiB |
| sample_02.txt | AC | 5 ms | 12544 KiB |
| sample_03.txt | AC | 5 ms | 12544 KiB |
| sub1_01.txt | WA | 195 ms | 26112 KiB |
| sub1_02.txt | AC | 416 ms | 46040 KiB |
| sub1_03.txt | WA | 65 ms | 17408 KiB |
| sub1_04.txt | WA | 243 ms | 31360 KiB |
| sub2_01.txt | AC | 5 ms | 12544 KiB |
| sub2_02.txt | AC | 5 ms | 12544 KiB |
| sub2_03.txt | AC | 5 ms | 12544 KiB |
| sub2_04.txt | AC | 5 ms | 12544 KiB |
| sub2_05.txt | AC | 5 ms | 12544 KiB |
| sub2_06.txt | AC | 5 ms | 12544 KiB |
| sub2_07.txt | AC | 5 ms | 12544 KiB |
| sub2_08.txt | AC | 5 ms | 12544 KiB |
| sub2_09.txt | AC | 5 ms | 12544 KiB |
| sub2_10.txt | AC | 5 ms | 12544 KiB |
| sub2_11.txt | AC | 5 ms | 12544 KiB |
| sub2_12.txt | AC | 5 ms | 12544 KiB |
| sub2_13.txt | AC | 5 ms | 12544 KiB |
| sub2_14.txt | AC | 5 ms | 12544 KiB |
| sub2_15.txt | AC | 5 ms | 12544 KiB |
| sub2_16.txt | AC | 5 ms | 12544 KiB |
| sub2_17.txt | AC | 5 ms | 12544 KiB |
| sub2_18.txt | AC | 5 ms | 12544 KiB |
| sub2_19.txt | AC | 5 ms | 12544 KiB |
| sub2_20.txt | AC | 5 ms | 12544 KiB |
| sub2_21.txt | AC | 5 ms | 12544 KiB |
| sub2_22.txt | AC | 5 ms | 12544 KiB |
| sub2_23.txt | AC | 5 ms | 12544 KiB |
| sub2_24.txt | AC | 5 ms | 12544 KiB |
| sub2_25.txt | AC | 5 ms | 12544 KiB |
| sub3_01.txt | TLE | 2105 ms | 41344 KiB |
| sub3_02.txt | AC | 497 ms | 40952 KiB |
| sub3_03.txt | AC | 559 ms | 43764 KiB |
| sub4_01.txt | AC | 7 ms | 12672 KiB |
| sub4_02.txt | TLE | 2103 ms | 12672 KiB |
| sub4_03.txt | TLE | 2103 ms | 12672 KiB |
| sub4_04.txt | TLE | 2103 ms | 12672 KiB |
| sub4_05.txt | AC | 7 ms | 12672 KiB |
| sub4_06.txt | AC | 7 ms | 12672 KiB |
| sub4_07.txt | AC | 6 ms | 12672 KiB |
| sub4_08.txt | TLE | 2105 ms | 42752 KiB |
| sub4_09.txt | TLE | 2105 ms | 37504 KiB |
| sub4_10.txt | TLE | 2105 ms | 37376 KiB |
| sub4_11.txt | TLE | 2105 ms | 38528 KiB |
| sub4_12.txt | TLE | 2105 ms | 38656 KiB |
| sub4_3_01.txt | AC | 57 ms | 12672 KiB |
| sub4_3_02.txt | AC | 168 ms | 12672 KiB |
| sub4_3_03.txt | AC | 11 ms | 12672 KiB |
| sub4_3_04.txt | TLE | 2107 ms | 12672 KiB |
| sub4_3_05.txt | TLE | 2103 ms | 12672 KiB |
| sub4_3_06.txt | TLE | 2103 ms | 12672 KiB |
| sub4_3_07.txt | AC | 7 ms | 12672 KiB |
| sub4_3_08.txt | AC | 7 ms | 12672 KiB |
| sub4_3_09.txt | AC | 7 ms | 12672 KiB |
| sub4_3_10.txt | AC | 7 ms | 12672 KiB |
| sub4_3_11.txt | AC | 6 ms | 12672 KiB |
| sub4_3_12.txt | AC | 6 ms | 12672 KiB |
| sub5_01.txt | TLE | 2105 ms | 40920 KiB |
| sub5_02.txt | TLE | 2106 ms | 53504 KiB |
| sub5_03.txt | AC | 523 ms | 42872 KiB |
| sub5_04.txt | AC | 508 ms | 41336 KiB |
| sub5_05.txt | TLE | 2105 ms | 41216 KiB |