Submission #163650

#TimeUsernameProblemLanguageResultExecution timeMemory
163650quoriessMag (COCI16_mag)C++14
24 / 120
1747 ms160764 KiB
#include <bits/stdc++.h> #include <unistd.h> using namespace std; typedef long long int lli; typedef pair<lli, lli> pii; #define dbg(x) cout << #x << " has a value of: " << x << "\n"; #define usize(x) (int)(x.size()) #define plist(x) \ for (int i = 0; i < usize(x); i++) \ cout << "eleman " << i << " = " << x[i] << "\n"; #define foreach(x) for (auto item : x) #define fill(s, x) \ for (int i = 0; i < x; i++) \ cin >> s[i]; #define in(veriler, a) (veriler.find(a) != veriler.end()) #define btw(x, y, z) x >= y&& x <= z; std::ostream& operator<<(std::ostream& os, pair<int,int> p) { os << p.first << ", " << p.second; return os; } #ifdef ONLINE_JUDGE #define fio ios_base::sync_with_stdio(false);cin.tie(NULL); #else #define fio //a #endif vector<lli> dizi; vector<vector<lli> > adj; vector<lli> dzp; lli mx=-1; void dfs(int node,int parent){ lli mx1=0,mx2=0; foreach(adj[node]){ if(item==parent)continue; dfs(item,node); if(dizi[node]!=1)continue; if(dizi[item]!=1)continue; if(dzp[item]>mx1){ mx2=mx1; mx1=dzp[item]; } else if(dzp[item]>mx2){ mx2=dzp[item]; } // dbg(mx1); // dbg(mx2); } if(dizi[node]==1){ dzp[node]=mx1+1; } mx=max(mx1+1+mx2,mx); } int main() { int n; cin>>n; adj=vector<vector<lli> >(n+1); dizi=dzp=vector<lli>(n+1); for(int i=0;i<n-1;i++){ int a,b; cin>>a>>b; adj[a].push_back(b); adj[b].push_back(a); } bool b1=0; lli mn=1e9; for(int i=0;i<n;i++){ cin>>dizi[i+1]; if(dizi[i+1]==1)b1=1; mn=min(mn,dizi[i+1]); } if(!b1){cout<<mn<<"/"<<1<<"\n";return 0;} dfs(1,0); cout<<1<<"/"<<mx<<"\n"; return 0; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...