Submission #1185315

#TimeUsernameProblemLanguageResultExecution timeMemory
118531512345678Bulldozer (JOI17_bulldozer)C++20
0 / 100
40 ms324 KiB
#include <bits/stdc++.h> using namespace std; #define ll long long const int nx=105; struct fraction { ll a, b, t, idx; fraction(ll a=0, ll b=0, ll t=0, ll idx=0): a(a), b(b), t(t), idx(idx) {} bool operator< (const fraction &o) const { if (a*o.b==b*o.a) return t<o.t; return a*o.b<b*o.a; } }; ll n, x[nx], y[nx], v[nx], res; int main() { cin.tie(NULL)->sync_with_stdio(false); cin>>n; for (int i=1; i<=n; i++) cin>>x[i]>>y[i]>>v[i]; for (int i=1; i<=n; i++) { for (int j=1; j<=n; j++) { if (i==j) continue; vector<fraction> c; fraction m=fraction(y[j]-y[i], x[j]-x[i], 0, 0); for (int k=1; k<=n; k++) { if (k==j) c.push_back(fraction(y[k]*m.b-m.a*x[k], m.b, 1, k)); else c.push_back(fraction(y[k]*m.b-m.a*x[k], m.b, 0, k)); } sort(c.begin(), c.end()); ll mn=0, sm=0; for (auto cur:c) sm+=v[cur.idx], res=max(res, sm-mn), mn=min(mn, sm); } } cout<<res; }
#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...