제출 #968727

#제출 시각UTC-0아이디문제언어결과실행 시간메모리
9687272024-04-24 00:27:02vjudge1이상한 기계 (APIO19_strange_device)C++17
100 / 100
372 ms112252 KiB
#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;
 
הההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההה
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
#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...