제출 #305253

#제출 시각아이디문제언어결과실행 시간메모리
305253oleksgMobile (BOI12_mobile)C++14
0 / 100
1099 ms48116 KiB
#include <fstream> #include <string> #include <iostream> #include <math.h> #include <algorithm> #include<bits/stdc++.h> #include <vector> using namespace std; long long n, l; vector<pair<long long, long long>> points; bool ok(double cur){ vector<pair<double, double>> segs; for (long long x = 0; x < points.size(); x++){ double curx = points[x].first; double cury = abs(points[x].second); double xintervals = sqrt(pow(cur, 2) - pow(cury, 2)); double minx = max((double)0, curx - xintervals); double maxx = min((double)l, curx + xintervals); if (minx <= l && maxx >= 0){ segs.push_back(make_pair(minx, maxx)); } } sort(segs.begin(), segs.end()); if (segs[0].first > 0){ return false; } double curx = 0; for (long long x = 0; x < segs.size(); x++){ if (segs[x].second > curx){ if (segs[x].first <= curx){ curx = segs[x].second; } else{ return false; } } } if (curx < l){ return false; } return true; } int main(){ long long one, two; cin >> n >> l; for (int x = 0; x < n; x++){ cin >> one >> two; points.push_back(make_pair(one, two)); } double mi = 0; double ma = 10000000000; while(ma - mi > 0.0001){ double cur = (mi + ma) / 2.0; if (ok(cur)){ ma = cur; } else{ mi = cur + 0.0001; } } cout << setprecision(20) << ma; }

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

mobile.cpp: In function 'bool ok(double)':
mobile.cpp:15:29: warning: comparison of integer expressions of different signedness: 'long long int' and 'std::vector<std::pair<long long int, long long int> >::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   15 |     for (long long x = 0; x < points.size(); x++){
      |                           ~~^~~~~~~~~~~~~~~
mobile.cpp:30:29: warning: comparison of integer expressions of different signedness: 'long long int' and 'std::vector<std::pair<double, double> >::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   30 |     for (long long x = 0; x < segs.size(); x++){
      |                           ~~^~~~~~~~~~~~~
#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...
#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...
#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...
#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...
#Verdict Execution timeMemoryGrader output
Fetching results...