CSES - Datatähti Open 2021 - Results
Submission details
Task:Greater Integers
Sender:gilgamesh
Submission time:2021-01-30 22:34:11 +0200
Language:C++11
Status:READY
Result:100
Feedback
groupverdictscore
#1ACCEPTED35
#2ACCEPTED65
Test results
testverdicttimegroup
#1ACCEPTED0.01 s1, 2details
#2ACCEPTED0.01 s2details

Compiler report

input/code.cpp: In function 'int main()':
input/code.cpp:41:22: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
     for(int i = 1; i < dig.size(); ++i) {
                    ~~^~~~~~~~~~~~

Code

#include <bits/stdc++.h>
using namespace std;
 
#define int long long
#define all(x) (x).begin(),(x).end()
#define pb push_back

signed main(){
  ios_base::sync_with_stdio(0);
  cin.tie(0);
  int t; cin >> t;
  while(t--) {
    int n; cin >> n;
    bool a9 = 1;
    int cn = n;
    int amt = 0;
    int lst = 0;
    vector<int> dig;
    while(cn) {
      ++amt;
      a9 &= (cn % 10) == 9;
      dig.pb(cn % 10);
      lst = cn % 10;
      cn /= 10;
    }
    if(a9) {
      for(int i = 0; i <= amt; ++i) {
        cout << 1;
      }
      cout << "\n";
      continue;
    }
    bool as = 1;
    cn = n;
    while(cn) {
      as &= (cn % 10) == lst;
      cn /= 10;
    }
    bool al = 1;
    reverse(all(dig));
    for(int i = 1; i < dig.size(); ++i) {
      if(dig[i] != dig[0]) {
        al = dig[i] < dig[0];
        break;
      }
    }
    if(al && !as) {
      for(int i = 0; i < amt; ++i) {
        cout << lst;
      }
      cout << "\n";
    } else {
      for(int i = 0; i < amt; ++i) {
        cout << lst + 1;
      }
      cout << "\n";
    }
  }
}

Test details

Test 1

Group: 1, 2

Verdict: ACCEPTED

input
1000
1
2
3
4
...

correct output
2
3
4
5
6
...

user output
2
3
4
5
6
...

Test 2

Group: 2

Verdict: ACCEPTED

input
1000
735425311146082632
756615631808964686
466489470801941584
100417544394053220
...

correct output
777777777777777777
777777777777777777
555555555555555555
111111111111111111
555555555555555555
...

user output
777777777777777777
777777777777777777
555555555555555555
111111111111111111
555555555555555555
...