# | 제출 시각UTC-0 | 아이디 | 문제 | 언어 | 결과 | 실행 시간 | 메모리 |
---|---|---|---|---|---|---|---|
968727 | vjudge1 | 이상한 기계 (APIO19_strange_device) | C++17 | 372 ms | 112252 KiB |
이 제출은 이전 버전의 oj.uz에서 채점하였습니다. 현재는 제출 당시와는 다른 서버에서 채점을 하기 때문에, 다시 제출하면 결과가 달라질 수도 있습니다.
#include <bits/stdc++.h>
using namespace std;
class strangeDevice{
private:
using ll=long long;
using i128=__int128;
public:
long long count(long long A, long long B, vector<long long> left, vector<long long> right) {
long long ans{0ll};
i128 F = i128(A / __gcd(A, B + 1)) * B;
vector<pair<ll,ll> > rgs, rgx;
for(int i{0}; i < (int)left.size(); ++i){
long long l{left[i]}, r{right[i]};
long long len{r - l + 1};
if(len>=F) return F;
l %= F, r %= F;
if(l <= r) rgs.emplace_back(l, r);
else rgs.emplace_back(l, F - 1),rgs.emplace_back(0, r);
}
sort(rgs.begin(), rgs.end());
for(auto [l,r]: rgs){
if(rgx.empty() || rgx.back().second < l ) rgx.emplace_back(l, r);
else rgx.back().second = max(rgx.back().second, r);
}
for(auto [l,r]: rgx) ans += r - l + 1;
return ans;
}
}solution;
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |