제출 #1318775

#제출 시각아이디문제언어결과실행 시간메모리
1318775exoworldgd2017 지구멸망 (FXCUP2_apocalypse)C++20
컴파일 에러
0 ms0 KiB
#pragma GCC optimize("O5,unroll-loops,inline,fast-math,omit-frame-pointer,tree-vectorize") #pragma GCC target("avx2,bmi,bmi2,popcnt,lzcnt,tune=native,fma,abm,mmx,sse") #include<bits/stdc++.h> #define exoworldgd cin.tie(0)->sync_with_stdio(0),cout.tie(0) #define int long long using namespace std; const int mod=1e9+7,inf=0x3f3f3f3f,N=3e5+5; int par[N],sz[N],p2[N],p2i[N],v1[N],v2[N],A,B,C,T,n; vector<pair<int,pair<int,int>>> e; int inv(int a,int m){ int x=a,y=m,u=1,v=0; for(int q;y^1;)q=x/y,x-=q*y,swap(x,y),u-=q*v,swap(u,v); return (v+m)%m; } int ip2(int x){return x>N-5?0:p2i[x];} int fd(int x){return par[x]=par[x]^x?fd(par[x]):x;} signed main(void){ exoworldgd; cin>>n; for(int i=1,a,b,c;i<=n;i++)cin>>a>>b>>c,e.push_back({c,{a,b}}); sort(e.begin(),e.end()),reverse(e.begin(),e.end()),p2[0]=1,fill(sz,sz+N,1),iota(par,par+N,0),sz[0]=inf; for(int i=1;i<=n+1;i++)p2[i]=p2[i-1]*2%mod; for(int i=0;i<=n+1;i++)p2i[i]=inv(p2[i],mod); for(auto x:e){ int w=x.first,a=fd(x.second.first),b=fd(x.second.second),t=ip2(sz[a])+ip2(sz[b])-ip2(sz[a]+sz[b]); t%=mod;if(t<0)t+=mod,B=(B+w*((T-v1[a]-v1[b]+mod)%mod*t%mod))%mod,B=(B+w*(((ip2(sz[b])-ip2(sz[a]+sz[b])+mod)%mod*v2[b]+ip2(sz[a])*v1[b])%mod))%mod,B=(B+w*(((ip2(sz[a])-ip2(sz[b]+sz[a])+mod)%mod*v2[a]+ip2(sz[b])*v1[a])%mod))%mod,A=(A+w*t)%mod,C=(C+w*w%mod*t)%mod,T=(T-v1[a]-v1[b]+2*mod)%mod,par[a]=b,sz[b]+=sz[a],v1[b]=(v1[b]+v1[a]+w*t)%mod,T=(T+v1[b])%mod,v2[b]=(v2[b]+v2[a]+w)%mod; } A=A*p2[n]%mod,B=B*p2[n]%mod,C=(C*p2[n]%mod+B*2)%mod,cout<<A<<"\n"<<C; }

컴파일 시 표준 에러 (stderr) 메시지

In file included from /usr/include/c++/13/string:43,
                 from /usr/include/c++/13/bitset:52,
                 from /usr/include/x86_64-linux-gnu/c++/13/bits/stdc++.h:52,
                 from apocalypse.cpp:3:
/usr/include/c++/13/bits/allocator.h: In destructor 'constexpr std::_Vector_base<std::pair<long long int, std::pair<long long int, long long int> >, std::allocator<std::pair<long long int, std::pair<long long int, long long int> > > >::_Vector_impl::~_Vector_impl()':
/usr/include/c++/13/bits/allocator.h:184:7: error: inlining failed in call to 'always_inline' 'constexpr std::allocator< <template-parameter-1-1> >::~allocator() noexcept [with _Tp = std::pair<long long int, std::pair<long long int, long long int> >]': target specific option mismatch
  184 |       ~allocator() _GLIBCXX_NOTHROW { }
      |       ^
In file included from /usr/include/c++/13/vector:66,
                 from /usr/include/c++/13/functional:64,
                 from /usr/include/x86_64-linux-gnu/c++/13/bits/stdc++.h:53:
/usr/include/c++/13/bits/stl_vector.h:133:14: note: called from here
  133 |       struct _Vector_impl
      |              ^~~~~~~~~~~~