Submission #314059

# Submission time Handle Problem Language Result Execution time Memory
314059 2020-10-18T03:37:10 Z shrek12357 Mobile (BOI12_mobile) C++14
50 / 100
1000 ms 17044 KB
#include <iostream>
#include <vector>
#include <algorithm>
#include <string>
#include <map>
#include <set>
#include <climits>
#include <cmath>
#include <fstream>
#include <queue>
#include <stack>
#include <bitset>
using namespace std;
#define ll long long
//cin.tie(0); ios_base::sync_with_stdio(0); 

double n, l;
vector<pair<double, double>> points;

bool check(double mid) {
	double left = 0;
	for (int i = 0; i < points.size(); i++) {
		if (mid < points[i].second) {
			continue;
		}
		double temp = sqrt(mid*mid - points[i].second*points[i].second);
		if (points[i].first - temp <= left) {
			left = max(points[i].first + temp, left);
		}
	}
	return left >= l;
}

int main() {
	cin >> n >> l;
	for (int i = 0; i < n; i++) {
		double a, b;
		cin >> a >> b;
		points.push_back({ a, b });
	}
	double lo = 0;
	double hi = 1e10;
	double ans = 1e10;
	while (hi - lo > 1e-3) {
		double mid = (lo + hi) / 2;
		if (check(mid)) {
			ans = min(ans, mid);
			hi = mid;
		}
		else {
			lo = mid;
		}
	}
	printf("%.7lf\n", ans);
}

Compilation message

mobile.cpp: In function 'bool check(double)':
mobile.cpp:22:20: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<std::pair<double, double> >::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   22 |  for (int i = 0; i < points.size(); i++) {
      |                  ~~^~~~~~~~~~~~~~~
# Verdict Execution time Memory Grader output
1 Correct 1 ms 256 KB Output is correct
2 Correct 0 ms 256 KB Output is correct
3 Correct 1 ms 256 KB Output is correct
4 Correct 0 ms 256 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 1 ms 256 KB Output is correct
2 Correct 1 ms 256 KB Output is correct
3 Correct 1 ms 256 KB Output is correct
4 Correct 1 ms 256 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 5 ms 384 KB Output is correct
2 Correct 4 ms 384 KB Output is correct
3 Correct 4 ms 384 KB Output is correct
4 Correct 5 ms 384 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 9 ms 512 KB Output is correct
2 Correct 10 ms 512 KB Output is correct
3 Correct 7 ms 512 KB Output is correct
4 Correct 11 ms 640 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 11 ms 512 KB Output is correct
2 Correct 10 ms 512 KB Output is correct
3 Correct 8 ms 512 KB Output is correct
4 Correct 12 ms 640 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 9 ms 512 KB Output is correct
2 Correct 10 ms 544 KB Output is correct
3 Correct 8 ms 512 KB Output is correct
4 Correct 12 ms 640 KB Output is correct
5 Correct 8 ms 512 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 130 ms 2536 KB Output is correct
2 Correct 152 ms 2536 KB Output is correct
3 Correct 96 ms 2160 KB Output is correct
4 Correct 174 ms 3692 KB Output is correct
5 Correct 75 ms 1904 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 131 ms 2540 KB Output is correct
2 Correct 140 ms 2560 KB Output is correct
3 Correct 166 ms 2676 KB Output is correct
4 Correct 183 ms 3640 KB Output is correct
5 Correct 213 ms 3816 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 127 ms 2540 KB Output is correct
2 Correct 163 ms 2540 KB Output is correct
3 Correct 149 ms 3560 KB Output is correct
4 Correct 273 ms 4072 KB Output is correct
5 Correct 161 ms 3432 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 211 ms 2536 KB Output is correct
2 Correct 197 ms 3736 KB Output is correct
3 Correct 165 ms 3432 KB Output is correct
4 Correct 271 ms 4072 KB Output is correct
5 Correct 207 ms 3584 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 207 ms 2536 KB Output is correct
2 Correct 197 ms 3688 KB Output is correct
3 Correct 163 ms 3432 KB Output is correct
4 Correct 271 ms 4092 KB Output is correct
5 Correct 205 ms 3560 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 775 ms 8680 KB Output is correct
2 Execution timed out 1038 ms 16044 KB Time limit exceeded
3 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Execution timed out 1085 ms 8668 KB Time limit exceeded
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Execution timed out 1004 ms 16852 KB Time limit exceeded
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Execution timed out 1085 ms 16968 KB Time limit exceeded
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Execution timed out 1070 ms 16848 KB Time limit exceeded
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Execution timed out 1097 ms 17024 KB Time limit exceeded
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Execution timed out 1084 ms 17044 KB Time limit exceeded
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Execution timed out 1098 ms 16924 KB Time limit exceeded
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Execution timed out 1090 ms 16912 KB Time limit exceeded
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Execution timed out 1061 ms 16976 KB Time limit exceeded
2 Halted 0 ms 0 KB -