QOJ.ac
QOJ
ID | Problem | Submitter | Result | Time | Memory | Language | File size | Submit time | Judge time |
---|---|---|---|---|---|---|---|---|---|
#391945 | #5117. Find Maximum | wdw | WA | 131ms | 3656kb | C++20 | 1.2kb | 2024-04-16 22:18:48 | 2024-04-16 22:18:48 |
Judging History
answer
#include<bits/stdc++.h>
#define int long long
using namespace std;
using ll = long long;
using ld = double;
using i64 = int64_t;
const int N = 3e5+5;
const ll mod = 998244353;
const ll inf = 1e18+5;
int dfs(int x){
if(x==0) return 1;
if(x%3==0){
int tmp=dfs(x/3)+1;
return tmp;
}else{
int p=x%3;
int tmp=dfs(x-p)+p;
return tmp;
}
}
void solve()
{
int l,r;
cin>>l>>r;
int ans=0;
int w=2,lx=1,f=1;
int a1=1,a2=2,a3=1;
while(lx<=r){
if(lx>=l){
ans=max(ans,w);
}
w++;
if(f==1){
lx+=a1;
a1*=3;
f++;
}else if(f==2){
lx+=a2;
a2*=3;
f++;
}else{
lx+=a3;
a3*=3;
f=1;
}
}
for(int i=max(l,r-100);i<=r;i++){
ans=max(ans,dfs(i));
}
cout<<ans<<'\n';
}
signed main() {
ios::sync_with_stdio(false);
cin.tie(0);cout.tie(0);
// cout<<fixed<<setprecision(12);
// srand(time(NULL));
int T=1;
cin >> T;
while(T--){
solve();
}
return 0;
}
Details
Tip: Click on the bar to expand more detailed information
Test #1:
score: 100
Accepted
time: 0ms
memory: 3656kb
input:
10 1 2 1 3 1 4 1 5 2 3 2 4 2 5 3 4 3 5 4 5
output:
3 3 4 5 3 4 5 4 5 5
result:
ok 10 numbers
Test #2:
score: 0
Accepted
time: 2ms
memory: 3596kb
input:
5050 1 1 1 2 1 3 1 4 1 5 1 6 1 7 1 8 1 9 1 10 1 11 1 12 1 13 1 14 1 15 1 16 1 17 1 18 1 19 1 20 1 21 1 22 1 23 1 24 1 25 1 26 1 27 1 28 1 29 1 30 1 31 1 32 1 33 1 34 1 35 1 36 1 37 1 38 1 39 1 40 1 41 1 42 1 43 1 44 1 45 1 46 1 47 1 48 1 49 1 50 1 51 1 52 1 53 1 54 1 55 1 56 1 57 1 58 1 59 1 60 1 61...
output:
2 3 3 4 5 5 5 6 6 6 6 6 6 7 7 7 8 8 8 8 8 8 8 8 8 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 10 10 10 10 10 10 10 10 10 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 3 3 4 5 5 5 6 6 6 6 6 6 7 7 7 8 8 8 8 8 8 8...
result:
ok 5050 numbers
Test #3:
score: -100
Wrong Answer
time: 131ms
memory: 3648kb
input:
10000 2924776299390853 348932224550662831 638290869233943020 897334616745111026 210780034220004669 279345354637770906 20574264013277469 387573622060864735 39441497975868873 806211034038773415 19845198891021950 243636832211738144 298454268109304380 988142879006387197 613847475002049291 86666797163210...
output:
110 112 109 110 112 108 113 112 110 107 79 113 110 111 88 86 109 108 111 113 111 111 113 112 111 110 111 108 111 85 111 111 112 76 113 109 111 110 79 111 111 113 110 110 75 112 110 74 72 78 109 107 112 111 110 111 112 111 111 112 111 111 109 111 110 111 112 111 113 110 113 112 112 75 110 79 111 112 ...
result:
wrong answer 11th numbers differ - expected: '109', found: '79'