Submission #60559177
Source Code Expand
#include <bits/stdc++.h>
#include <atcoder/modint>
namespace {
using ModInt [[maybe_unused]] = atcoder::modint998244353;
using Num [[maybe_unused]] = long long int;
using Vec [[maybe_unused]] = std::vector<Num>;
using Set [[maybe_unused]] = std::set<Num>;
using Mset [[maybe_unused]] = std::multiset<Num>;
using Edges [[maybe_unused]] = std::vector<std::vector<Num>>;
template<typename T>
using Q [[maybe_unused]] = std::queue<T>;
template<typename T>
using PQ [[maybe_unused]] = std::priority_queue<T, std::vector<T>, std::greater<T>>;
const std::vector<std::pair<Num, Num>> dyxs {{1, 0}, {-1, 0}, {0, 1}, {0, -1}};
std::map<char, std::pair<Num, Num>> directions {{'D', {1, 0}}, {'U', {-1, 0}}, {'R', {0, 1}}, {'L', {0, -1}}};
template<typename T>
void print_oneline(const std::vector<T>& vec, std::ostream& os) {
const auto size = vec.size();
for(size_t i{0}; i<size; ++i) {
os << vec.at(i) << (((i+1) == size) ? '\n' : ' ');
}
}
template<typename T>
void print_each(const std::vector<T>& vec, std::ostream& os) {
const auto size = vec.size();
for(size_t i{0}; i<size; ++i) {
os << vec.at(i) << '\n';
}
}
}
void solve(std::istream& is, std::ostream& os) {
Num n, a, b, c, d;
is >> n >> a >> b >> c >> d;
--n;
const auto n2 = n / 2;
if (a > b) {
std::swap(a,b);
}
b -= a;
const auto w = d - c;
if (n == 1) {
if ((c <= b) && (b <= d)) {
os << "YES\n";
} else {
os << "NO\n";
}
return;
}
std::vector<std::pair<Num,Num>> rs;
Num odd = n % 2;
if (((c * 2) <= d) && (b <= (d * n))) {
os << "YES\n";
return;
}
for(Num i{1}; i<=n2; ++i) {
const auto p = i * 2 + odd;
const auto m = n2 - i;
const auto l = c * p - m * w;
const auto r = d * p + m * w;
rs.push_back(std::make_pair(l, r));
}
std::ranges::sort(rs);
for(const auto& [l,r] : rs) {
if ((l <= b) && (b <= r)) {
os << "YES\n";
return;
}
}
os << "NO\n";
}
int main(void) {
solve(std::cin, std::cout);
return 0;
}
Submission Info
| Submission Time |
|
| Task |
B - Moderate Differences |
| User |
zettsut |
| Language |
C++ 20 (gcc 12.2) |
| Score |
400 |
| Code Size |
2359 Byte |
| Status |
AC |
| Exec Time |
7 ms |
| Memory |
7436 KiB |
Judge Result
| Set Name |
Sample |
All |
| Score / Max Score |
0 / 0 |
400 / 400 |
| Status |
|
|
| Set Name |
Test Cases |
| Sample |
sample1.txt, sample2.txt, sample3.txt, sample4.txt |
| All |
sample1.txt, sample2.txt, sample3.txt, sample4.txt, a01.txt, a02.txt, a03.txt, a04.txt, b01.txt, b02.txt, b03.txt, b04.txt, c01.txt, c02.txt, c03.txt, c04.txt, d01.txt, d02.txt, d03.txt, d04.txt, d05.txt, d06.txt, d07.txt, d08.txt, d09.txt, d10.txt, d11.txt, d12.txt, d13.txt, d14.txt, d15.txt, d16.txt, d17.txt, d18.txt, sample1.txt, sample2.txt, sample3.txt, sample4.txt |
| Case Name |
Status |
Exec Time |
Memory |
| a01.txt |
AC |
1 ms |
3688 KiB |
| a02.txt |
AC |
3 ms |
5344 KiB |
| a03.txt |
AC |
1 ms |
3688 KiB |
| a04.txt |
AC |
2 ms |
4292 KiB |
| b01.txt |
AC |
4 ms |
5344 KiB |
| b02.txt |
AC |
6 ms |
7328 KiB |
| b03.txt |
AC |
6 ms |
7280 KiB |
| b04.txt |
AC |
1 ms |
3840 KiB |
| c01.txt |
AC |
4 ms |
7436 KiB |
| c02.txt |
AC |
6 ms |
7268 KiB |
| c03.txt |
AC |
5 ms |
7352 KiB |
| c04.txt |
AC |
5 ms |
7432 KiB |
| d01.txt |
AC |
3 ms |
5276 KiB |
| d02.txt |
AC |
1 ms |
3620 KiB |
| d03.txt |
AC |
2 ms |
4212 KiB |
| d04.txt |
AC |
6 ms |
7292 KiB |
| d05.txt |
AC |
7 ms |
7352 KiB |
| d06.txt |
AC |
2 ms |
4280 KiB |
| d07.txt |
AC |
1 ms |
3612 KiB |
| d08.txt |
AC |
4 ms |
5260 KiB |
| d09.txt |
AC |
2 ms |
4232 KiB |
| d10.txt |
AC |
5 ms |
7368 KiB |
| d11.txt |
AC |
6 ms |
7352 KiB |
| d12.txt |
AC |
7 ms |
7284 KiB |
| d13.txt |
AC |
2 ms |
4148 KiB |
| d14.txt |
AC |
3 ms |
5256 KiB |
| d15.txt |
AC |
4 ms |
5248 KiB |
| d16.txt |
AC |
6 ms |
7304 KiB |
| d17.txt |
AC |
1 ms |
3840 KiB |
| d18.txt |
AC |
4 ms |
5204 KiB |
| sample1.txt |
AC |
1 ms |
3552 KiB |
| sample2.txt |
AC |
1 ms |
3592 KiB |
| sample3.txt |
AC |
1 ms |
3744 KiB |
| sample4.txt |
AC |
7 ms |
7272 KiB |