Untitled
unknown
plain_text
a year ago
3.9 kB
4
Indexable
Never
// #pragma GCC optimize("Ofast") // #pragma GCC target("avx,avx2,fma") // #pragma GCC optimize("Os") // #pragma GCC optimize("O1") #pragma GCC optimize("O2") #include <bits/stdc++.h> #include <iterator> #include <iomanip> #include <string> #include <cmath> #include <algorithm> using namespace std; typedef long long LL; typedef pair<int, int> pii; typedef pair<LL, LL> pll; typedef pair<string, string> pss; typedef vector<int> vi; typedef vector<vi> vvi; typedef vector<pii> vii; typedef vector<LL> vl; typedef vector<vl> vvl; typedef unordered_map<int, int> mapi; typedef unordered_map<char, int> mapc; double EPS = 1e-9; int INF = 1000000005; long long INFF = 1000000000000000005LL; double PI = acos(-1); int dirx[8] = { -1, 0, 0, 1, -1, -1, 1, 1 }; int diry[8] = { 0, 1, -1, 0, -1, 1, -1, 1 }; #ifdef TESTING #define DEBUG fprintf(stderr, "====TESTING====\n") #define VALUE(x) cerr << "The value of " << #x << " is " << x << endl #define debug(...) fprintf(stderr, __VA_ARGS__) #else #define DEBUG #define VALUE(x) #define debug(...) #endif #define f(a,c) for (int(a) = 0; (a) < (c); a++) #define FOR(a, b, c) for (int(a) = (b); (a) < (c); ++(a)) #define FORN(a, b, c) for (int(a) = (b); (a) <= (c); ++(a)) #define FORD(a, b, c) for (int(a) = (b); (a) >= (c); --(a)) #define FORSQ(a, b, c) for (int(a) = (b); (a) * (a) <= (c); ++(a)) #define FORC(a, b, c) for (char(a) = (b); (a) <= (c); ++(a)) #define FOREACH(a, b) for (auto&(a) : (b)) #define REP(i, n) FOR(i, 0, n) #define REPN(i, n) FORN(i, 1, n) #define MAX(a, b) a = max(a, b) #define MIN(a, b) a = min(a, b) #define SQR(x) ((LL)(x) * (x)) #define RESET(a, b) memset(a, b, sizeof(a)) #define fi first #define se second #define mp make_pair #define pb push_back #define ALL(v) v.begin(), v.end() #define ALLA(arr, sz) arr, arr + sz #define SIZE(v) (int)v.size() #define SORT(v) sort(ALL(v)) #define REVERSE(v) reverse(ALL(v)) #define SORTA(arr, sz) sort(ALLA(arr, sz)) #define REVERSEA(arr, sz) reverse(ALLA(arr, sz)) #define PERMUTE next_permutation inline string IntToString(LL a) { char x[100]; sprintf(x, "%lld", a); string s = x; return s; } inline LL StringToInt(string a) { char x[100]; LL res; strcpy(x, a.c_str()); sscanf(x, "%lld", &res); return res; } inline string GetString(void) { char x[1000005]; scanf("%s", x); string s = x; return s; } inline string uppercase(string s) { int n = SIZE(s); REP(i, n) if (s[i] >= 'a' && s[i] <= 'z') s[i] = s[i] - 'a' + 'A'; return s; } inline string lowercase(string s) { int n = SIZE(s); REP(i, n) if (s[i] >= 'A' && s[i] <= 'Z') s[i] = s[i] - 'A' + 'a'; return s; } inline void OPEN(string s) { #ifndef TESTING freopen((s + ".in").c_str(), "r", stdin); freopen((s + ".out").c_str(), "w", stdout); #endif } inline int fact(int x) { if (x == 0 or x == 1) return 1; return x * fact(x - 1); } LL a[100005]; LL pre_sum[100005]; map<LL, int> m; void add(int left, int right) { int mid = upper_bound(a + left, a + right + 1, (a[left] + a[right]) / 2) - a; m[pre_sum[right + 1] - pre_sum[left]] = 1; if (mid == left or mid == right + 1) return; add(left, mid - 1); add(mid, right); } int len(string x) { int sum = 0, i; for (i = 0; i < x.length(); i++) sum += x[i] - '0'; return sum; } void solve() { LL n, m, i, j, k, l, q, r, a, b, c, d,x, y, z, cnt = 0, sum = 0, mx = -1e9, ans =0; bool flag = true; string s; cin >> a >> b >> c >>d; if(b >= a) cout << b; else if(d<c) { x = (a-b)/(c-d); if((a-b)%(c-d)!=0) x++; cout << b+x*c; } else cout << -1; } int main() { ios_base::sync_with_stdio(false); cin.tie(NULL); #ifndef ONLINE_JUDGE freopen("input.txt", "r", stdin); freopen("error.txt", "w", stderr); freopen("output.txt", "w", stdout); #endif int i, j, t; cin >> t; while (t--) { // solve(); cout << "Hello World!\n"; } cerr << "time taken : " << (float)clock() / CLOCKS_PER_SEC << " secs" << endl; return 0; }