QOJ.ac

QOJ

ID题目提交者结果用时内存语言文件大小提交时间测评时间
#631063#7897. Largest DigityouthpaulAC ✓40ms3824kbC++201.4kb2024-10-11 21:45:452024-10-11 21:45:46

Judging History

你现在查看的是最新测评结果

  • [2024-10-11 21:45:46]
  • 评测
  • 测评结果:AC
  • 用时:40ms
  • 内存:3824kb
  • [2024-10-11 21:45:45]
  • 提交

answer

#include<bits/stdc++.h>
#define fore(i,l,r)	for(int i=(int)(l);i<(int)(r);++i)
#define fi first
#define se second
#define endl '\n'
#define ull unsigned long long
#define ALL(v) v.begin(), v.end()
#define Debug(x, ed) std::cerr << #x << " = " << x << ed;

const int INF=0x3f3f3f3f;
const long long INFLL=1e18;

typedef long long ll;

void solve(){
    ll l1, r1, l2, r2;
    std::cin >> l1 >> r1 >> l2 >> r2;
    std::vector<std::vector<int>> d1(10), d2(10);
    ll pow = 1;
    fore(i, 1, 10){
        d1[i].push_back(l1 / pow % 100);
        fore(j, 1, 100){
            if(l1 / pow * pow + j * pow <= r1)
                d1[i].push_back(l1 / pow % 100 + j);
        }
        pow *= 10;
    }

    pow = 1;
    fore(i, 1, 10){
        d2[i].push_back(l2 / pow % 100);
        fore(j, 1, 100){
            if(l2 / pow * pow + j * pow <= r2)
                d2[i].push_back(l2 / pow % 100 + j);
        }
        pow *= 10;
    }

    int ans = 0;
    fore(i, 1, 10)
        for(auto x : d1[i])
            for(auto y : d2[i]){
                if(i == 1) ans = std::max({ans, (x + y) % 10, (x + y) / 10 % 10});
                else ans = std::max(ans, (x + y) / 10 % 10);
            }

    std::cout << ans << endl;
}

int main(){
    std::ios::sync_with_stdio(false);
    std::cin.tie(nullptr);
    std::cout.tie(nullptr);
    int t;
    std::cin >> t;
    while(t--){
        solve();
    }
    
    return 0;
}

这程序好像有点Bug,我给组数据试试?

详细

Test #1:

score: 100
Accepted
time: 0ms
memory: 3548kb

input:

2
178 182 83 85
2 5 3 6

output:

7
9

result:

ok 2 lines

Test #2:

score: 0
Accepted
time: 40ms
memory: 3824kb

input:

1000
158260522 877914575 24979445 602436426
1 5 1101111 1101112
2 5 33333 33335
1 5 10111 10111
138996221 797829355 353195922 501899080
212 215 10302 10302
101100 101101 1 2
111 114 1101000 1101001
265804420 569328197 234828607 807497925
1110110 1110112 11100 11103
323 327 23 27
1 1 1 5
316412581 80...

output:

9
7
9
6
9
7
3
5
9
5
9
6
9
9
9
9
9
9
9
9
9
5
9
6
9
9
7
8
9
9
9
9
9
9
3
8
9
7
7
9
9
6
7
9
9
8
9
6
9
9
9
5
9
4
9
5
9
7
8
8
9
9
9
6
9
8
9
5
9
7
9
7
9
9
6
5
9
2
3
6
9
9
8
6
9
9
6
4
9
9
9
9
9
9
8
2
9
4
5
9
9
9
8
6
9
5
7
9
9
9
9
5
9
7
8
5
9
9
9
7
9
9
3
3
9
9
5
7
9
9
6
6
9
7
7
9
9
8
9
9
9
5
9
6
9
7
9
4
9
5
...

result:

ok 1000 lines

Extra Test:

score: 0
Extra Test Passed