# | 제출 시각 | 아이디 | 문제 | 언어 | 결과 | 실행 시간 | 메모리 |
---|---|---|---|---|---|---|---|
1063403 | 2024-08-17T18:02:29 Z | medmdg | Bulldozer (JOI17_bulldozer) | C++14 | 33 ms | 604 KB |
#include <bits/stdc++.h> using namespace std; typedef long long ll; typedef pair<pair<ll, ll>, pair<ll, ll>> Point; bool comp(Point p1, Point p2) { return p1.second.second < p2.second.second; } ll max_sub_sum(vector<ll> &vals) { ll S[vals.size()+1]; ll M[vals.size()+1]; S[0] = 0; M[0] = 0; for(int i=1;i<=vals.size();i++) { S[i] = S[i-1]+vals[i-1]; M[i] = min(M[i-1], S[i]); } ll ans = 0; for(int i=0;i<vals.size();i++) { ans = max(ans, S[i+1] - M[i+1]); } return ans; } void solve() { int n; cin >> n; vector<Point> points; for(int i=0;i<n;i++) { Point p; long long x, y, w; cin >> p.first.first >> p.first.second >> p.second.first; points.push_back(p); } if(n==1) { cout << max(0LL, points[0].second.first) << endl; return; } ll ans =0; for(int i=0;i<n;i++) { for(int j=i+1;j<n;j++) { pair<ll, ll> dir = {points[i].first.first - points[j].first.first, points[i].first.second - points[j].first.second}; if(dir.first != 0 || dir.second != 0 ) { for(int k=0;k<n;k++) { points[k].second.second = dir.second * points[k].first.second - dir.first * points[k].first.first; } sort(points.begin(), points.end(), comp); vector<ll> vals; for(int k=0;k<n;k++) { vals.push_back(0); ll X = points[k].second.second; while(points[k].second.second == X) { vals[vals.size()-1]+=points[k].second.first; k++; } k--; } ans = max(ans, max_sub_sum(vals)); } } } if(ans==0){ ll t=0; for(auto i:points)t+=i.second.first; ans=max(ans,t); } cout << ans << endl; } int main() { ios_base::sync_with_stdio(false); cin.tie(0); solve(); }
Compilation message
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 16 ms | 472 KB | Output is correct |
2 | Correct | 15 ms | 468 KB | Output is correct |
3 | Correct | 15 ms | 348 KB | Output is correct |
4 | Correct | 15 ms | 348 KB | Output is correct |
5 | Correct | 17 ms | 472 KB | Output is correct |
6 | Correct | 15 ms | 348 KB | Output is correct |
7 | Correct | 22 ms | 468 KB | Output is correct |
8 | Correct | 15 ms | 348 KB | Output is correct |
9 | Correct | 15 ms | 468 KB | Output is correct |
10 | Correct | 16 ms | 348 KB | Output is correct |
11 | Correct | 0 ms | 348 KB | Output is correct |
12 | Correct | 0 ms | 348 KB | Output is correct |
13 | Correct | 1 ms | 348 KB | Output is correct |
14 | Correct | 0 ms | 348 KB | Output is correct |
15 | Correct | 0 ms | 348 KB | Output is correct |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 29 ms | 604 KB | Output is correct |
2 | Correct | 30 ms | 344 KB | Output is correct |
3 | Correct | 29 ms | 348 KB | Output is correct |
4 | Correct | 29 ms | 348 KB | Output is correct |
5 | Correct | 29 ms | 348 KB | Output is correct |
6 | Correct | 33 ms | 344 KB | Output is correct |
7 | Correct | 29 ms | 348 KB | Output is correct |
8 | Incorrect | 32 ms | 348 KB | Output isn't correct |
9 | Halted | 0 ms | 0 KB | - |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 29 ms | 604 KB | Output is correct |
2 | Correct | 30 ms | 344 KB | Output is correct |
3 | Correct | 29 ms | 348 KB | Output is correct |
4 | Correct | 29 ms | 348 KB | Output is correct |
5 | Correct | 29 ms | 348 KB | Output is correct |
6 | Correct | 33 ms | 344 KB | Output is correct |
7 | Correct | 29 ms | 348 KB | Output is correct |
8 | Incorrect | 32 ms | 348 KB | Output isn't correct |
9 | Halted | 0 ms | 0 KB | - |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 29 ms | 604 KB | Output is correct |
2 | Correct | 30 ms | 344 KB | Output is correct |
3 | Correct | 29 ms | 348 KB | Output is correct |
4 | Correct | 29 ms | 348 KB | Output is correct |
5 | Correct | 29 ms | 348 KB | Output is correct |
6 | Correct | 33 ms | 344 KB | Output is correct |
7 | Correct | 29 ms | 348 KB | Output is correct |
8 | Incorrect | 32 ms | 348 KB | Output isn't correct |
9 | Halted | 0 ms | 0 KB | - |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 16 ms | 472 KB | Output is correct |
2 | Correct | 15 ms | 468 KB | Output is correct |
3 | Correct | 15 ms | 348 KB | Output is correct |
4 | Correct | 15 ms | 348 KB | Output is correct |
5 | Correct | 17 ms | 472 KB | Output is correct |
6 | Correct | 15 ms | 348 KB | Output is correct |
7 | Correct | 22 ms | 468 KB | Output is correct |
8 | Correct | 15 ms | 348 KB | Output is correct |
9 | Correct | 15 ms | 468 KB | Output is correct |
10 | Correct | 16 ms | 348 KB | Output is correct |
11 | Correct | 0 ms | 348 KB | Output is correct |
12 | Correct | 0 ms | 348 KB | Output is correct |
13 | Correct | 1 ms | 348 KB | Output is correct |
14 | Correct | 0 ms | 348 KB | Output is correct |
15 | Correct | 0 ms | 348 KB | Output is correct |
16 | Correct | 29 ms | 604 KB | Output is correct |
17 | Correct | 30 ms | 344 KB | Output is correct |
18 | Correct | 29 ms | 348 KB | Output is correct |
19 | Correct | 29 ms | 348 KB | Output is correct |
20 | Correct | 29 ms | 348 KB | Output is correct |
21 | Correct | 33 ms | 344 KB | Output is correct |
22 | Correct | 29 ms | 348 KB | Output is correct |
23 | Incorrect | 32 ms | 348 KB | Output isn't correct |
24 | Halted | 0 ms | 0 KB | - |