Submission #829751

#TimeUsernameProblemLanguageResultExecution timeMemory
829751tolbiDuathlon (APIO18_duathlon)C++17
Compilation error
0 ms0 KiB
#pragma optimize("Bismillahirrahmanirrahim") //█▀█─█──█──█▀█─█─█ //█▄█─█──█──█▄█─█■█ //█─█─█▄─█▄─█─█─█─█ //Allahuekber //ahmet23 orz... //FatihSultanMehmedHan //YavuzSultanSelimHan //AbdulhamidHan //Sani buyuk Osman Pasa Plevneden cikmam diyor #define author tolbi #include <bits/stdc++.h> using namespace std; #define deci(x) int x;cin>>x; #define decstr(x) string x;cin>>x; #define sortarr(x) sort(x.begin(), x.end()) #define sortrarr(x) sort(x.rbegin(), x.rend()) #define rev(x) reverse(x.begin(), x.end()) #define cinarr(x) for (auto &it : x) cin>>it; #define coutarr(x) for (auto &it : x) cout<<it<<" ";cout<<endl; #define tol(bi) (1LL<<((int)(bi))) #define endl '\n' #define int long long mt19937 ayahya(chrono::high_resolution_clock().now().time_since_epoch().count()); #include "duathlon.h" #include <bits/stdc++.h> using namespace std; int solve(int n, vector<int> u, vector<int> v){ int totn = n; vector<vector<int>> arr(n); for (int i = 0; i < u.size(); i++){ arr[u[i]].push_back(v[i]); arr[v[i]].push_back(u[i]); } vector<int> dept(n,-1); vector<int> stk; vector<int> ele(n); vector<int> sz; vector<vector<int>> hehe; function<int(int,int)> f; vector<int> par(n); f = [&](int node, int lnode)->int{ if (lnode!=-1) par[node]=lnode; if (lnode!=-1) dept[node]=dept[lnode]+1; int mide = dept[node]; for (int i = 0; i < arr[node].size(); i++){ if (arr[node][i]==lnode) continue; if (dept[arr[node][i]]!=-1){ mide=min(mide,dept[arr[node][i]]); continue; } mide=min(mide,f(arr[node][i],node)); } stk.push_back(node); if (mide==dept[node]){ sz.push_back(0); while (stk.size()){ ele[stk.back()]=hehe.size(); stk.pop_back(); sz.back()++; } hehe.push_back(vector<int>()); } return mide; }; dept[0]=0; f(0,-1); for (int i = 1; i < n; i++){ if (ele[i]!=ele[par[i]]){ hehe[ele[i]].push_back(ele[par[i]]); hehe[ele[par[i]]].push_back(ele[i]); } } n=hehe.size(); swap(arr,hehe); int ans = 0; for (int i = 0; i < sz.size(); i++){ ans+=sz[i]*(sz[i]-1)*(sz[i]-2); }//3 from cycle vector<int> subsz(n); //coutarr(sz); f = [&](int node, int lnode)->int{ subsz[node]=sz[node]; for (int i = 0; i < arr[node].size(); i++){ if (arr[node][i]==lnode) continue; f(arr[node][i],node); subsz[node]+=subsz[arr[node][i]]; ans+=(subsz[arr[node][i]])*(sz[node])*(totn-subsz[arr[node][i]]-sz[node])*2; //2 from outside, 1 from cycle //cout<<node<<" "<<sz[node]<<" "<<arr[node][i]<<" "<<subsz[arr[node][i]]<<endl; ans+=(sz[node]-1)*(sz[node]-1)*subsz[arr[node][i]]*2; //2 from cycle, 1 from outside } ans+=(sz[node]-1)*(sz[node]-1)*(totn-subsz[node])*2; return 23; }; f(0,-1); return ans; }

Compilation message (stderr)

count_triplets.cpp:1: warning: ignoring '#pragma optimize ' [-Wunknown-pragmas]
    1 | #pragma optimize("Bismillahirrahmanirrahim")
      | 
count_triplets.cpp:26:10: fatal error: duathlon.h: No such file or directory
   26 | #include "duathlon.h"
      |          ^~~~~~~~~~~~
compilation terminated.