Submission #1198894

#TimeUsernameProblemLanguageResultExecution timeMemory
1198894simplemind_31Bulldozer (JOI17_bulldozer)C++20
0 / 100
19 ms448 KiB
#include <bits/stdc++.h> #define ALL(x) x.begin(),x.end() using namespace std; typedef long long ll; typedef __int128_t lll; lll maxi; ll n,x; bool cmp(vector<lll> a,vector<lll> b){ return a[0]*b[1]<a[1]*b[0]; } int main(){ ios_base::sync_with_stdio(0); cin.tie(0);cout.tie(0); cin >> n; vector<vector<lll>> points(n,{0,0,0}); for(lll i=0;i<n;i++){ cin >> x; points[i][0]=x; cin >> x; points[i][1]=x; cin >> x; points[i][2]=x; } for(lll i=0;i<n;i++){ for(lll j=i+1;j<n;j++){ pair<lll,lll> pendiente={points[j][1]-points[i][1],points[j][0]-points[i][0]}; if(pendiente.first==0){ //vertical vector<pair<pair<lll,lll>,lll>> nums(n); for(int k=0;k<n;k++){ nums[k]={{points[k][1],points[k][2]},k}; } sort(ALL(nums)); lll sum=0; for(int k=0;k<n;k++){ maxi=max(maxi,sum=max(nums[k].first.second,sum+nums[k].first.second)); } sum=0; for(int k=1;k<n;k++){ if((nums[k].second==i && nums[k-1].second==j)||(nums[k].second==j && nums[k-1].second==i)){ swap(nums[k],nums[k-1]); } } for(int k=0;k<n;k++){ maxi=max(maxi,sum=max(nums[k].first.second,sum+nums[k].first.second)); } }else{ vector<pair<pair<lll,lll>,lll>> nums(n); for(lll k=0;k<n;k++){ nums[k]={{pendiente.first*points[k][0]-pendiente.second*points[k][1],points[k][2]},k}; } sort(ALL(nums)); lll sum=0; for(int k=0;k<n;k++){ maxi=max(maxi,sum=max(nums[k].first.second,sum+nums[k].first.second)); } sum=0; for(int k=1;k<n;k++){ if((nums[k].second==i && nums[k-1].second==j)||(nums[k].second==j && nums[k-1].second==i)){ swap(nums[k],nums[k-1]); } } for(int k=0;k<n;k++){ maxi=max(maxi,sum=max(nums[k].first.second,sum+nums[k].first.second)); } } } } cout << (ll)maxi; }
#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...