HackerEarth An Easy Problem solution YASH PAL, 31 July 2024 In this HackerEarth An Easy problem solution Mr X loves his clock. His clock displays time in the HH : MM Format using the 24 hour system, the first 2 characters in the string are used to display the current hour, with possible leading zeros. Also, the last 2 characters are used to display the current minutes, also with possible leading zeroes. Now, Mr X came up with a new thing, where he calls a particular time displayed by the clock good if the sum of all digits written on the clock during that time is divisible by a given number x. You have been given the current time displayed by the clock and an integer x. You need to find the minimum number of minutes Mr X needs to wait, to see a good time being displayed by the clock. If the clock is already displaying a good time, Mr X does not need to wait at all. If the clock will never ever display a good time, then print -1 instead as the answer. HackerEarth An Easy Problem solution. #include<bits/stdc++.h>using namespace std;typedef complex<double> base;typedef long double ld;typedef long long ll;#define pb push_back#define pii pair<int,int>#define pll pair< ll , ll >#define vi vector<int>#define vvi vector< vi >const int maxn=(int)(1e5+5);const ll mod=(ll)(1e9+7);bool check(int h,int m,int x){ string s1=to_string(h),s2=to_string(m); int ret=0; for(char ch:s1) { ret+=(ch-'0'); } for(char ch:s2) { ret+=(ch-'0'); } return (ret%x==0);}int main(){ string s;cin>>s; int x;cin>>x; int h=((s[0]-'0')*10)+((s[1]-'0')); int m=((s[3]-'0')*10)+(s[4]-'0'); int ctr=0,ans=-1; while(ctr<=1440) { if(check(h,m,x)) { ans=ctr;break; } m++; if(m==60) { h=(h+1)%24;m=0; } ctr++; } cout<<ans<<endl; return 0;} Second solution #include <bits/stdc++.h>using namespace std;const int maxt = 24 * 60;int x;int main(){ auto getTime = [](){ int h, m, ret = 0; scanf("%d:%d", &h, &m); return m + h * 60; }; int l = getTime(); scanf("%d", &x); for(int i = l; i < maxt; i++){ string s; int y = i; for(int j = 0; j < 2; j++, y /= 60) s.push_back('0' + y % 60 % 10), s.push_back('0' + y % 60 / 10); if((accumulate(s.begin(), s.end(), 0) - '0' * 4) % x == 0) return cout << i - l << 'n', 0; } cout << "-1n";} coding problems