1354A - Alarm Clock - CodeForces Solution


math *900

Please click on ads to support us..

Python Code:

tests = int(input())
for _ in range(tests):
	a, b, c, d = map(int, input().split())
	if b >= a:
		print(b)
		continue
	if c <= d:
		print(-1)
		continue
	print(b + (a - b + (c - d) - 1) // (c - d) * c)

C++ Code:

#include <bits/stdc++.h>

using namespace std;

int main() {
    long long t,a,b,c,d;
    cin >> t;
    while(t--){
        cin >> a>>b>>c>>d;
        if(b >= a){
            cout << b <<endl;
        }
        else {
            if(d >= c){
                cout << -1 <<endl;
            }
            else {
                long long value ;
                if((a-b)%(c-d)==0){
                    value = (a-b)/(c-d);
                }
                else {
                    value = (a-b)/(c-d)+1;
                }
                cout << b + c*value<<endl;
            }
        }
    }
}


Comments

Submit
0 Comments
More Questions

1702D - Not a Cheap String
1714F - Build a Tree and That Is It
1703F - Yet Another Problem About Pairs Satisfying an Inequality
610A - Pasha and Stick
1200A - Hotelier
1091A - New Year and the Christmas Ornament
1352B - Same Parity Summands
1102A - Integer Sequence Dividing
630B - Moore's Law
1004A - Sonya and Hotels
1680B - Robots
1690A - Print a Pedestal (Codeforces logo)
1295A - Display The Number
1077A - Frog Jumping
1714G - Path Prefixes
1369C - RationalLee
289B - Polo the Penguin and Matrix
1716A - 2-3 Moves
1670B - Dorms War
1716B - Permutation Chain
987A - Infinity Gauntlet
1676G - White-Black Balanced Subtrees
1716D - Chip Move
1352F - Binary String Reconstruction
1487B - Cat Cycle
1679C - Rooks Defenders
56A - Bar
1694B - Paranoid String
35A - Shell Game
1684A - Digit Minimization