#include<iostream>
#include<algorithm>
#include<vector>
#include<string>
using namespace std;
/*
输入用例:
目标信号值,下一行输入频段和损失值 freq:loss
找出距离最近的频段,输出损失值,保留一位小数,
2800
1950:10,3000:9,2500:15
*/
int main()
{
int freq;
cin >> freq;
string str;
cin >> str;
vector<string> vec_str;
vector<pair<int, int>> vec;
int last = 0;
for (int i = 0; i < str.size(); ++i)
{
if (',' == str[i])
{
vec_str.push_back(str.substr(last, i - last));
last = i + 1;
}
if (str.size() - 1 == i)
vec_str.push_back(str.substr(last, str.size() - last));
}
for (auto& x : vec_str)
{
for (int i = 0; i < x.size(); ++i)
{
if (':' == x[i])
{
int f = stoi(x.substr(0, i));
int l = stoi(x.substr(i + 1, x.size() - i));
vec.push_back(make_pair(f, l));
}
}
}
sort(vec.begin(), vec.end(), [](pair<int, int> e1, pair<int, int> e2) {
return e2.first > e1.first;
});
//for (auto x : vec)
// cout << x.first << " " << x.second << endl;
if (freq > vec[vec.size() - 1].first)
{
printf("%.1f", (double)vec[vec.size() - 1].second);
return 0;
}
if (freq < vec[0].first)
{
printf("%.1f", (double)vec[0].second);
return 0;
}
for (int i = 0; i < vec.size(); ++i)
{
int disright, disleft;
if (vec[i].first > freq)
{
disright = vec[i].first - freq;
disleft = freq - vec[i-1].first;
cout << disright << " " << disleft << endl;
if (disright == disleft)
printf("%.1f", (vec[i].second + vec[i].first) / 2.0);
if (disright > disleft)
printf("%.1f", (double)vec[i - 1].second);
if (disright < disleft)
printf("%.1f", (double)vec[i].second);
return 0;
}
}
return 0;
}
#秋招 24届#