Codeforces Round 862 (div.2) C
vp时c题用自已的方法过了,赛后补下正解
C.Place for a Selfie
题意
给定一些抛物线和过原点的直线,对于每个抛物线,是否存在一条直线与它相交。
思路
联系
所以对
代码
bool func(int a, int b, int c) {
return 1ll * b * b < 4ll * a * c;
}
void solve() {
int n, m;
cin >> n >> m;
vector<int> k(n);
for(int i = 0; i < n; i++) {
cin >> k[i];
}
sort(k.begin(), k.end());
while(m--) {
int a, b, c;
cin >> a >> b >> c;
auto it = lower_bound(k.begin(), k.end(), b);
if(it != k.end() && func(a, b - *it, c)) {
cout << "YES\n" << *it << "\n";
}
else if(it != k.begin() && func(a, b - *prev(it), c)) {
cout << "YES\n" << *prev(it) << "\n";
}
else {
cout << "NO\n";
}
}
}
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 地球OL攻略 —— 某应届生求职总结
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 提示词工程——AI应用必不可少的技术
· .NET周刊【3月第1期 2025-03-02】