Task: | Greater Integers |
Sender: | kasparovian |
Submission time: | 2021-01-31 08:20:25 +0200 |
Language: | C++ (C++17) |
Status: | READY |
Result: | 100 |
group | verdict | score |
---|---|---|
#1 | ACCEPTED | 35 |
#2 | ACCEPTED | 65 |
test | verdict | time | group | |
---|---|---|---|---|
#1 | ACCEPTED | 0.01 s | 1, 2 | details |
#2 | ACCEPTED | 0.01 s | 2 | details |
Compiler report
input/code.cpp:7:4: warning: multi-line comment [-Wcomment] // (\=, //\\ )__( /_____\ ^ input/code.cpp:13:4: warning: multi-line comment [-Wcomment] // |__| )___( )___( /____\ /____\ /_____\ ^ input/code.cpp: In function 'int main()': input/code.cpp:122:9: warning: variable 'tab' set but not used [-Wunused-but-set-variable] int t,tab; ^~~ input/code.cpp: In function 'bool maxs(std::__cxx11::string)': input/code.cpp:80:1: warning: control reaches end of non-void function [-Wreturn-type] } ^
Code
// '-.-' // () __.'.__ // .-:--:-. |_______| // () \____/ \=====/ // /\ {====} )___( // (\=, //\\ )__( /_____\ // __ |'-'-'| // .\ ( ) /____\ | | // / \ |_____| (( \_ \ )__( | | | | // \__/ |===| )) `\_) /____\ | | | | // /____\ | | (/ \ | | | | | | // | | | | | _.-'| | | | | | | // |__| )___( )___( /____\ /____\ /_____\ // (====) (=====) (=====) (======) (======) (=======) // }===={ }====={ }====={ }======{ }======{ }======={ // (______)(_______)(_______)(________)(________)(_________) // // Credits :- Joan G. Stark //|~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~| //| AUTHOR - KASPAROVIAN | //|~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~| #include<bits/stdc++.h> #define rep(i,a,b) for(int i=(a);i<=(b);i++) #define per(i,a,b) for(int i=(a);i>=(b);i--) #define frr(i,n) for(int i=0;i<(n);i++) #define pb push_back #define eb emplace_back #define all(v) (v).begin(),(v).end() #define fr first #define sc second #define mk make_pair #define endl '\n' #define MOD 1000000007 #define in insert #define sz(x) (ll)(x).size() #define mem(a,b) memset(a,b,sizeof(a)) #define int long long #define runtime() ((double)clock() / CLOCKS_PER_SEC) #define fast ios_base::sync_with_stdio(false);cin.tie(0);cout.tie(0) using namespace std; #define TRACE #ifdef TRACE #define trace(...) __f(#__VA_ARGS__, __VA_ARGS__) template <typename Arg1> void __f(const char* name, Arg1&& arg1){ cerr << name << " : " << arg1 << endl; } template <typename Arg1, typename... Args> void __f(const char* names, Arg1&& arg1, Args&&... args){ const char* comma = strchr(names + 1, ',');cerr.write(names, comma - names) << " : " << arg1<<" | ";__f(comma+1, args...); } #else #define trace(...) #endif typedef long long ll; typedef vector<int> vi; typedef vector<ll> vl; typedef long double ld; typedef pair<ll,ll> pl; typedef pair<int,int> pi; typedef pair<int,pi> ppi; typedef vector<vi> graph; template<class T> void mxi(T & a, const T & b) { a = max(a, b); } template<class T> void mni(T & a, const T & b) { a = min(a, b); } ld EPS=1e-9; mt19937 RNG(chrono::steady_clock::now().time_since_epoch().count()); #define SHUF(v) shuffle(all(v), RNG); // Use mt19937_64 for 64 bit random numbers. bool allsame(string s) { for(int i=1;i<sz(s);i++)if(s[i]!=s[0])return 0; return 1; } bool maxs(string s) { for(int i=0;i<sz(s);i++) if(s[i]<s[0])return 1; else if(s[i]>s[0])return 0; } void solve() { string s; cin>>s; string ans=""; if(allsame(s)) { if(s[0]=='9') { for(int i=0;i<sz(s)+1;i++) ans+='1'; // cout<<endl; return; } else { for(int i=0;i<sz(s);i++) ans+=(char)(s[0]+1); // cout<<endl; // return; } } else { if(maxs(s)) { for(int i=0;i<sz(s);i++) ans+=s[0]; // cout<<endl; return; } else { assert(s[0]!='9'); for(int i=0;i<sz(s);i++) ans+=(char)(s[0]+1); // cout<<endl; return; } } cout<<ans<<endl; } signed main() { fast; int t,tab; cin>>t; tab=t; while(t--) { //cout<<"Case #"<<(tab-t)<<": "; solve(); } // cerr<<runtime(); } //APPROACHING A QUESTION //+ Think of binary search (max of min etc also if n<=2*10^5) //+ Think of common dp states (Even if it appears as maths but constraints are small) //+ Check constraints //+ Keep calm and enjoy the question //+ Be sure to remove MOD from binpow (if needed) //+ Try bidirectional analysis for constructive questions //+ If given some sequence try thinking of prefix sums //+ If constraints are too large maybe its simple maths //+ In questions with binary operations think of bits independently and also the change pattern //+ If two or more binary operations are given mostly there is a relation between them and an arithmatic operator
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 ... Truncated |
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 55555555555555 ... Truncated |