Submission #1158721

#TimeUsernameProblemLanguageResultExecution timeMemory
1158721elotelo966Cat Exercise (JOI23_ho_t4)C++20
Compilation error
0 ms0 KiB
#include <bits/stdc++.h> using namespace std; #define int long long #define faster ios_base::sync_with_stdio(false);cin.tie(NULL);cout.tie(NULL); #define FOR for(int i=1;i<=n;i++) #define lim 25 #define mid (start+end)/2 #define pb push_back int n,l; int dizi[lim],dp[lim][(1<<25)]; vector<int> v[lim]; int timer,tin[lim],tout[lim],dist[lim]; int up[lim][35],ger[lim][35]; inline void dfs(int node,int ata){ tin[node]=tout[node]=++timer; dist[node]=dist[ata]+1; up[node][0]=ata; ger[node][0]=dizi[ata]; for(int i=1;i<=l;i++){ up[node][i]=up[up[node][i-1]][i-1]; ger[node][i]=max(ger[node][i-1],dizi[up[node][i]]); } for(auto go:v[node]){ if(go==ata)continue; dfs(go,node); tout[node]=max(tout[node],tout[go]); } } inline bool anc(int node1,int node2){ return tin[node1]<=tin[node2] && tout[node1]>=tout[node2]; } inline int find_lca(int node1,int node2){ if(anc(node1,node2))return node1; if(anc(node2,node1))return node2; for(int i=l;i>=0;i--){ if(!anc(up[node1][i],node2))node1=up[node1][i]; } return up[node1][0]; } inline int con(int node1,int node2){ if(node1==node2)return dizi[node1]; int cev=dizi[node1]; for(int i=l;i>=0;i--){ if(!anc(up[node1][i],node2)){ cev=max(cev,ger[node1][i]); node1=up[node1][i]; } } cev=max(cev,ger[node1][0]); return cev; } inline int f(int node,int mask){ //cout<<node<<endl; if(~dp[node][mask])return dp[node][mask]; int cev=0; FOR{ if(mask&(1<<i))continue; int lca=find_lca(i,node); int distance=dist[i]+dist[node]-2*dist[lca]; int maxi=0; maxi=max(maxi,con(i,lca)); maxi=max(maxi,con(node,lca)); //cout<<node<<" "<<i<<" "<<maxi<<" "<<dizi[node]<<" "<<distance<<endl; if(maxi<=dizi[node]){// check cev=max(cev,f(i,mask|(1<<i))+distance); } } return dp[node][mask]=cev; } int32_t main(){ faster memset(dp,-1,sizeof(dp)); cin>>n; l=ceil(log2(n)); int baslangic; FOR{ cin>>dizi[i]; if(dizi[i]==n)baslangic=i; } FOR{ if(i==1)continue; int x,y;cin>>x>>y; v[x].pb(y); v[y].pb(x); } dfs(1,1); cout<<f(baslangic,0)<<'\n'; return 0; }

Compilation message (stderr)

/usr/lib/gcc/x86_64-linux-gnu/11/libstdc++.a(ios_init.o): in function `std::ios_base::Init::Init()':
(.text._ZNSt8ios_base4InitC2Ev+0x1c): failed to convert GOTPCREL relocation against '_ZNSt8ios_base4Init11_S_refcountE'; relink with --no-relax
(.text._ZNSt8ios_base4InitC2Ev+0x60): relocation truncated to fit: R_X86_64_PC32 against symbol `__gnu_internal::buf_cout_sync' defined in .bss._ZN14__gnu_internal13buf_cout_syncE section in /usr/lib/gcc/x86_64-linux-gnu/11/libstdc++.a(globals_io.o)
(.text._ZNSt8ios_base4InitC2Ev+0x67): relocation truncated to fit: R_X86_64_PC32 against symbol `__gnu_internal::buf_cout_sync' defined in .bss._ZN14__gnu_internal13buf_cout_syncE section in /usr/lib/gcc/x86_64-linux-gnu/11/libstdc++.a(globals_io.o)
(.text._ZNSt8ios_base4InitC2Ev+0x72): relocation truncated to fit: R_X86_64_PC32 against symbol `__gnu_internal::buf_cout_sync' defined in .bss._ZN14__gnu_internal13buf_cout_syncE section in /usr/lib/gcc/x86_64-linux-gnu/11/libstdc++.a(globals_io.o)
(.text._ZNSt8ios_base4InitC2Ev+0x87): relocation truncated to fit: R_X86_64_PC32 against symbol `__gnu_internal::buf_cout_sync' defined in .bss._ZN14__gnu_internal13buf_cout_syncE section in /usr/lib/gcc/x86_64-linux-gnu/11/libstdc++.a(globals_io.o)
(.text._ZNSt8ios_base4InitC2Ev+0x92): relocation truncated to fit: R_X86_64_PC32 against symbol `__gnu_internal::buf_cout_sync' defined in .bss._ZN14__gnu_internal13buf_cout_syncE section in /usr/lib/gcc/x86_64-linux-gnu/11/libstdc++.a(globals_io.o)
(.text._ZNSt8ios_base4InitC2Ev+0xa7): relocation truncated to fit: R_X86_64_PC32 against symbol `__gnu_internal::buf_cout_sync' defined in .bss._ZN14__gnu_internal13buf_cout_syncE section in /usr/lib/gcc/x86_64-linux-gnu/11/libstdc++.a(globals_io.o)
(.text._ZNSt8ios_base4InitC2Ev+0xb2): relocation truncated to fit: R_X86_64_PC32 against symbol `__gnu_internal::buf_cout_sync' defined in .bss._ZN14__gnu_internal13buf_cout_syncE section in /usr/lib/gcc/x86_64-linux-gnu/11/libstdc++.a(globals_io.o)
(.text._ZNSt8ios_base4InitC2Ev+0xc1): relocation truncated to fit: R_X86_64_PC32 against symbol `__gnu_internal::buf_cout_sync' defined in .bss._ZN14__gnu_internal13buf_cout_syncE section in /usr/lib/gcc/x86_64-linux-gnu/11/libstdc++.a(globals_io.o)
(.text._ZNSt8ios_base4InitC2Ev+0xd4): relocation truncated to fit: R_X86_64_PC32 against symbol `__gnu_internal::buf_cin_sync' defined in .bss._ZN14__gnu_internal12buf_cin_syncE section in /usr/lib/gcc/x86_64-linux-gnu/11/libstdc++.a(globals_io.o)
(.text._ZNSt8ios_base4InitC2Ev+0xdb): relocation truncated to fit: R_X86_64_PC32 against symbol `__gnu_internal::buf_cout_sync' defined in .bss._ZN14__gnu_internal13buf_cout_syncE section in /usr/lib/gcc/x86_64-linux-gnu/11/libstdc++.a(globals_io.o)
(.text._ZNSt8ios_base4InitC2Ev+0xe2): additional relocation overflows omitted from the output
(.text._ZNSt8ios_base4InitC2Ev+0x1c6): failed to convert GOTPCREL relocation against '_ZSt4cout'; relink with --no-relax
(.text._ZNSt8ios_base4InitC2Ev+0x260): failed to convert GOTPCREL relocation against '_ZSt3cin'; relink with --no-relax
(.text._ZNSt8ios_base4InitC2Ev+0x2e2): failed to convert GOTPCREL relocation against '_ZSt4cerr'; relink with --no-relax
(.text._ZNSt8ios_base4InitC2Ev+0x353): failed to convert GOTPCREL relocation against '_ZSt4clog'; relink with --no-relax
(.text._ZNSt8ios_base4InitC2Ev+0x541): failed to convert GOTPCREL relocation against '_ZSt5wcout'; relink with --no-relax
(.text._ZNSt8ios_base4InitC2Ev+0x5e5): failed to convert GOTPCREL relocation against '_ZSt4wcin'; relink with --no-relax
(.text._ZNSt8ios_base4InitC2Ev+0x670): failed to convert GOTPCREL relocation against '_ZSt5wcerr'; relink with --no-relax
(.text._ZNSt8ios_base4InitC2Ev+0x6e9): failed to convert GOTPCREL relocation against '_ZSt5wclog'; relink with --no-relax
collect2: error: ld returned 1 exit status