Submission #3232918


Source Code Expand

#include <iostream>
#include <algorithm>
#include <cstring>
#include <vector>
#include <math.h>
#define MOD 1000000007
typedef long long ll;
using namespace std;

vector<pair<int,ll>> g[100005];
int color[100005];
int num[100005];

int low,up;

bool dfs(int u,int c,int tmp){

  if(color[u]!=-1){
    if(color[u]==c) return tmp==num[u];
    int z;
    if(c) z=tmp-num[u];
    else z=num[u]-tmp;

    if(z%2||z<=0) return false;
    if(low==up&&z/2!=low) return false;
    if(z/2<low||z/2>up) return false;
    low=up=z/2;
    return true;
  }

  color[u]=c;
  num[u]=tmp;
  if(c) if(up>tmp-1) up=tmp-1;
  if(!c) if(low<1-tmp) low=1-tmp;
  if(low>up) return false;

  for(int i=0;i<g[u].size();i++){
    if(!dfs(g[u][i].first,1-c,g[u][i].second-tmp)) return false;
  }
  return true;
}

int main(){
  int n,m;
  cin>>n>>m;
  for(int i=0;i<m;i++){
    int u,v;
    ll s;
    cin>>u>>v>>s;
    g[u].push_back(make_pair(v,s));
    g[v].push_back(make_pair(u,s));
  }

  memset(color,-1,sizeof(color));
  low=-1;
  up=1e9+1;

  if(dfs(1,0,0)) cout<<up-low+1<<endl;
  else cout<<0<<endl;

  return 0;
}

Submission Info

Submission Time
Task E - + Graph
User snow39
Language C++14 (GCC 5.4.1)
Score 600
Code Size 1159 Byte
Status AC
Exec Time 140 ms
Memory 13312 KB

Judge Result

Set Name Sample All
Score / Max Score 0 / 0 600 / 600
Status
AC × 3
AC × 58
Set Name Test Cases
Sample sampleNo.txt, samplePath.txt, sampleTri.txt
All OK_0.txt, OK_1.txt, OK_2.txt, OK_3.txt, OK_4.txt, close_0.txt, close_1.txt, close_2.txt, close_3.txt, close_4.txt, many_0.txt, many_1.txt, many_2.txt, many_3.txt, many_4.txt, many_5.txt, many_6.txt, many_7.txt, max.txt, maxBip.txt, multiple_0.txt, multiple_1.txt, multiple_2.txt, multiple_3.txt, multiple_4.txt, multiple_5.txt, multiple_6.txt, multiple_7.txt, oddLoop.txt, oddLoop_0.txt, oddLoop_1.txt, oddLoop_2.txt, rnd_0.txt, rnd_1.txt, rnd_2.txt, rnd_3.txt, rnd_4.txt, rnd_5.txt, rnd_6.txt, rnd_7.txt, rnd_8.txt, rnd_9.txt, sampleNo.txt, samplePath.txt, sampleTri.txt, star.txt, star_0.txt, star_1.txt, unique_0.txt, unique_1.txt, unique_2.txt, unique_3.txt, unique_4.txt, unique_5.txt, unique_6.txt, unique_7.txt, unique_8.txt, unique_9.txt
Case Name Status Exec Time Memory
OK_0.txt AC 120 ms 8704 KB
OK_1.txt AC 125 ms 8704 KB
OK_2.txt AC 130 ms 8704 KB
OK_3.txt AC 122 ms 8704 KB
OK_4.txt AC 121 ms 8704 KB
close_0.txt AC 135 ms 9728 KB
close_1.txt AC 134 ms 9472 KB
close_2.txt AC 136 ms 9728 KB
close_3.txt AC 131 ms 8960 KB
close_4.txt AC 130 ms 8832 KB
many_0.txt AC 127 ms 8320 KB
many_1.txt AC 130 ms 8064 KB
many_2.txt AC 130 ms 8064 KB
many_3.txt AC 130 ms 8192 KB
many_4.txt AC 129 ms 8192 KB
many_5.txt AC 129 ms 8064 KB
many_6.txt AC 128 ms 8064 KB
many_7.txt AC 132 ms 8192 KB
max.txt AC 101 ms 6912 KB
maxBip.txt AC 112 ms 7936 KB
multiple_0.txt AC 132 ms 8960 KB
multiple_1.txt AC 134 ms 9088 KB
multiple_2.txt AC 140 ms 9088 KB
multiple_3.txt AC 136 ms 9216 KB
multiple_4.txt AC 136 ms 9344 KB
multiple_5.txt AC 137 ms 9216 KB
multiple_6.txt AC 135 ms 9216 KB
multiple_7.txt AC 138 ms 9088 KB
oddLoop.txt AC 138 ms 13312 KB
oddLoop_0.txt AC 138 ms 13184 KB
oddLoop_1.txt AC 81 ms 8960 KB
oddLoop_2.txt AC 117 ms 11648 KB
rnd_0.txt AC 128 ms 8832 KB
rnd_1.txt AC 137 ms 9216 KB
rnd_2.txt AC 132 ms 8832 KB
rnd_3.txt AC 132 ms 9088 KB
rnd_4.txt AC 134 ms 9216 KB
rnd_5.txt AC 128 ms 9216 KB
rnd_6.txt AC 135 ms 8960 KB
rnd_7.txt AC 133 ms 8960 KB
rnd_8.txt AC 129 ms 8576 KB
rnd_9.txt AC 114 ms 8448 KB
sampleNo.txt AC 3 ms 2944 KB
samplePath.txt AC 2 ms 2944 KB
sampleTri.txt AC 3 ms 2944 KB
star.txt AC 124 ms 8048 KB
star_0.txt AC 124 ms 8048 KB
star_1.txt AC 123 ms 8048 KB
unique_0.txt AC 133 ms 9600 KB
unique_1.txt AC 132 ms 9600 KB
unique_2.txt AC 133 ms 9728 KB
unique_3.txt AC 132 ms 9600 KB
unique_4.txt AC 135 ms 9600 KB
unique_5.txt AC 132 ms 9600 KB
unique_6.txt AC 133 ms 9600 KB
unique_7.txt AC 132 ms 9600 KB
unique_8.txt AC 133 ms 9600 KB
unique_9.txt AC 131 ms 9600 KB