Submission #202124

#TimeUsernameProblemLanguageResultExecution timeMemory
202124SegtreeBulldozer (JOI17_bulldozer)C++14
0 / 100
38 ms380 KiB
#include<iostream> #include<algorithm> #include<vector> #include<queue> #include<set> #include<complex> #include<math.h> #include<unordered_set> #include<unordered_map> using namespace std; typedef long long ll; typedef pair<ll,ll> P; typedef complex<double> C; #define chmax(a,b) a=max(a,b) #define chmin(a,b) a=min(a,b) #define all(x) x.begin(),x.end() #define rep(i,n) for(int i=0;i<n;i++) #define mod 1000000007 #define mad(a,b) a=(a+b)%mod ll n,w[110]; C p[110]; ll solve(C g,C e){ vector<pair<double,ll> >v; rep(i,n){ C c=p[i]-g; c*=e; v.push_back(make_pair(c.imag(),i)); } sort(all(v)); ll res=0,mi=0,rui=0; rep(i,n){ rui+=w[v[i].second]; chmin(mi,rui); chmax(res,rui-mi); } return res; } int main(){ cin>>n; rep(i,n){ ll x,y; cin>>x>>y>>w[i]; p[i]=C(x,y); } ll ans=0; rep(i,n)rep(j,i){ ll dx=p[i].real()-p[j].real(); ll dy=p[i].imag()-p[j].imag(); chmax(ans,solve(p[j],C(dx,-dy))); } cout<<ans<<endl; }
#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...