Submission #1154529

#TimeUsernameProblemLanguageResultExecution timeMemory
1154529OtalpBulldozer (JOI17_bulldozer)C++20
0 / 100
18 ms324 KiB
#include<bits/stdc++.h> using namespace std; #define ll long long #define pb push_back #define pii pair<int, int> #define ff first #define ss second #define unm unordered_map #define all(x) (x).begin(), (x).end() const ll mod = 1e9 + 7; const int MAXN = 2e5 + 5; const int MAXA = 2e5 + 5; pair<pii, int> a[200100]; void solve(){ int n; cin>>n; for(int i=1; i<=n; i++){ cin>>a[i].ff.ff>>a[i].ff.ss; cin>>a[i].ss; } ll ans = 0; for(int i=1; i<=n; i++){ for(int j=i + 1; j<=n; j++){ ll sum = 0; ll x1 = a[i].ff.ff, y1 = a[i].ff.ss; ll x2 = a[j].ff.ff, y2 = a[j].ff.ss; vector<pair<ll, ll> > d, q; for(int i=1; i<=n; i++){ ll h = (y2-y1)*a[i].ff.ff-(x2-x1)*a[i].ff.ss+x2*y1-y2*x1; if(h >= 0) d.pb({h, a[i].ss}); if(h <= 0) q.pb({-h, a[i].ss}); } sort(all(d)); sort(all(q)); sum = 0; for(int i=0; i<d.size(); i++){ sum += d[i].ss; if(i == d.size() - 1 or d[i + 1].ff != d[i].ff) ans = max(ans, sum); } sum = 0; for(int i=0; i<q.size(); i++){ sum += q[i].ss; if(i == q.size() - 1 or q[i + 1].ff != q[i].ff) ans = max(ans, sum); } } } cout<<ans; } int main(){ ios_base::sync_with_stdio(NULL);cin.tie(NULL);cout.tie(NULL); int t=1; //cin>>t; while(t--){ solve(); cout<<'\n'; } }
#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...