제출 #108480

#제출 시각아이디문제언어결과실행 시간메모리
108480E869120Bulldozer (JOI17_bulldozer)C++14
0 / 100
26 ms580 KiB
#include <iostream> #include <vector> #include <algorithm> using namespace std; struct Fraction { public: long long cx, cy; }; long long gcd(long long a, long long b) { if (b == 0) return a; return gcd(b, a%b); } Fraction teisei(Fraction A) { long long E = gcd(A.cx, A.cy); A.cx /= E; A.cy /= E; return A; } long long N, X[109], Y[109], W[109], ans; vector<Fraction>E; int main() { cin >> N; for (int i = 0; i < N; i++) cin >> X[i] >> Y[i] >> W[i]; for (int i = 0; i < N; i++) { for (int j = i + 1; j < N; j++) E.push_back(teisei(Fraction{ X[j] - X[i],Y[j] - Y[i] })); } for (Fraction R : E) { vector<pair<long long, int>>vec; for (int i = 0; i < N; i++) vec.push_back(make_pair(X[i] * -R.cy + Y[i] * R.cx, i)); sort(vec.begin(), vec.end()); long long sum = 0, minx = 0; for (int i = 0; i < vec.size(); i++) { sum += W[vec[i].second]; minx = min(minx, sum); ans = max(ans, sum - minx); } } cout << ans << endl; return 0; }

컴파일 시 표준 에러 (stderr) 메시지

bulldozer.cpp: In function 'int main()':
bulldozer.cpp:37:21: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
   for (int i = 0; i < vec.size(); i++) {
                   ~~^~~~~~~~~~~~
#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...