Submission #27058

# Submission time Handle Problem Language Result Execution time Memory
27058 2017-07-09T06:32:39 Z RayaBurong25_1 Bulldozer (JOI17_bulldozer) C++14
0 / 100
61 ms 396 KB
#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()
{
	// freopen("test.in", "r", stdin);
	// freopen("test.out", "w", stdout);
	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, ans));
		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;
				// printf("%lld\n", r);
				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);
}

Compilation message

bulldozer.cpp: In function 'int main()':
bulldozer.cpp:25:7: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
  scanf("%d", &N);
  ~~~~~^~~~~~~~~~
bulldozer.cpp:28: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 time Memory Grader output
1 Correct 30 ms 384 KB Output is correct
2 Correct 30 ms 256 KB Output is correct
3 Correct 29 ms 396 KB Output is correct
4 Correct 29 ms 256 KB Output is correct
5 Correct 29 ms 284 KB Output is correct
6 Correct 29 ms 360 KB Output is correct
7 Correct 31 ms 256 KB Output is correct
8 Correct 30 ms 256 KB Output is correct
9 Correct 31 ms 356 KB Output is correct
10 Correct 30 ms 256 KB Output is correct
11 Correct 2 ms 384 KB Output is correct
12 Incorrect 2 ms 256 KB Output isn't correct
13 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 61 ms 352 KB Output is correct
2 Correct 59 ms 256 KB Output is correct
3 Correct 59 ms 376 KB Output is correct
4 Correct 59 ms 360 KB Output is correct
5 Correct 59 ms 384 KB Output is correct
6 Correct 59 ms 304 KB Output is correct
7 Correct 59 ms 384 KB Output is correct
8 Correct 57 ms 384 KB Output is correct
9 Correct 61 ms 256 KB Output is correct
10 Correct 58 ms 356 KB Output is correct
11 Correct 2 ms 384 KB Output is correct
12 Incorrect 1 ms 256 KB Output isn't correct
13 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 61 ms 352 KB Output is correct
2 Correct 59 ms 256 KB Output is correct
3 Correct 59 ms 376 KB Output is correct
4 Correct 59 ms 360 KB Output is correct
5 Correct 59 ms 384 KB Output is correct
6 Correct 59 ms 304 KB Output is correct
7 Correct 59 ms 384 KB Output is correct
8 Correct 57 ms 384 KB Output is correct
9 Correct 61 ms 256 KB Output is correct
10 Correct 58 ms 356 KB Output is correct
11 Correct 2 ms 384 KB Output is correct
12 Incorrect 1 ms 256 KB Output isn't correct
13 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 61 ms 352 KB Output is correct
2 Correct 59 ms 256 KB Output is correct
3 Correct 59 ms 376 KB Output is correct
4 Correct 59 ms 360 KB Output is correct
5 Correct 59 ms 384 KB Output is correct
6 Correct 59 ms 304 KB Output is correct
7 Correct 59 ms 384 KB Output is correct
8 Correct 57 ms 384 KB Output is correct
9 Correct 61 ms 256 KB Output is correct
10 Correct 58 ms 356 KB Output is correct
11 Correct 2 ms 384 KB Output is correct
12 Incorrect 1 ms 256 KB Output isn't correct
13 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 30 ms 384 KB Output is correct
2 Correct 30 ms 256 KB Output is correct
3 Correct 29 ms 396 KB Output is correct
4 Correct 29 ms 256 KB Output is correct
5 Correct 29 ms 284 KB Output is correct
6 Correct 29 ms 360 KB Output is correct
7 Correct 31 ms 256 KB Output is correct
8 Correct 30 ms 256 KB Output is correct
9 Correct 31 ms 356 KB Output is correct
10 Correct 30 ms 256 KB Output is correct
11 Correct 2 ms 384 KB Output is correct
12 Incorrect 2 ms 256 KB Output isn't correct
13 Halted 0 ms 0 KB -