제출 #59020

#제출 시각아이디문제언어결과실행 시간메모리
59020gusfringBulldozer (JOI17_bulldozer)C++14
25 / 100
2033 ms484 KiB
#include <stdio.h> #include <vector> #include <map> #include <math.h> double X[2005], Y[2005]; long long V[2005]; std::map<long long, long long> M; double dist(int i, int j) { return sqrt((X[i]-X[j])*(X[i]-X[j]) + (Y[i]-Y[j])*(Y[i]-Y[j])); } long long min(long long a, long long b) { return (a < b)?a:b; } long long max(long long a, long long b) { return (a > b)?a:b; } int main() { int N; scanf("%d", &N); int i, j, k; for (i = 0; i < N; i++) scanf("%lf %lf %lld", &X[i], &Y[i], &V[i]); double a; long long r; std::map<long long, long long>::iterator it; long long sum, summin, ans = 0; if (N == 1) { printf("%lld", max(0, V[0])); return 0; } for (i = 0; i < N; i++) { for (j = i + 1; j < N; j++) { M.clear(); a = acos((Y[j] - Y[i])/dist(i, j)); for (k = 0; k < N; k++) { r = (-sin(a)*X[k]-cos(a)*Y[k] + 0.5)*1000LL; M[r] += V[k]; } sum = 0; summin = 0; for (it = M.begin(); it != M.end(); it++) { sum += it->second; summin = min(summin, sum); ans = max(ans, sum - summin); } } } printf("%lld", ans); }

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

bulldozer.cpp: In function 'int main()':
bulldozer.cpp:23:7: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
  scanf("%d", &N);
  ~~~~~^~~~~~~~~~
bulldozer.cpp:26:8: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
   scanf("%lf %lf %lld", &X[i], &Y[i], &V[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...