| Task: | Entrepreneur |
| Sender: | hy2025_003 |
| Submission time: | 2025-09-03 16:47:49 +0300 |
| Language: | C++ (C++20) |
| Status: | READY |
| Result: | ACCEPTED |
| test | verdict | time | |
|---|---|---|---|
| #1 | ACCEPTED | 0.00 s | details |
| #2 | ACCEPTED | 0.00 s | details |
| #3 | ACCEPTED | 0.00 s | details |
| #4 | ACCEPTED | 0.00 s | details |
| #5 | ACCEPTED | 0.00 s | details |
| #6 | ACCEPTED | 0.01 s | details |
| #7 | ACCEPTED | 0.00 s | details |
| #8 | ACCEPTED | 0.16 s | details |
| #9 | ACCEPTED | 0.17 s | details |
| #10 | ACCEPTED | 0.17 s | details |
| #11 | ACCEPTED | 0.00 s | details |
| #12 | ACCEPTED | 0.00 s | details |
| #13 | ACCEPTED | 0.00 s | details |
| #14 | ACCEPTED | 0.00 s | details |
| #15 | ACCEPTED | 0.00 s | details |
Code
/* ================================ MAKEFILE ===================================
* CXXFLAGS=-std=c++20 -x c++ -Wall -fsanitize=undefined,address -pipe -g
* ============================== CLion Setup ==================================
* Alt F12 Rebind: File >> Setting >> Keymap >> Tool Windows >> Terminal */
// Basic
#include <bits/stdc++.h>
using namespace std;
using ll = long long;
const ll oo = *(ll*)"????????";
using vl = vector<ll>;
#define all(c) begin(c),end(c)
#define FOR(i,a,b) for (ll i=(a); i<(b); i++)
#define FORD(i,a,b) for (ll i=ll(b)-1; i>=(a); i--)
// Graphs // ============== random numbers =================
using vvl = vector<vl>; // mt19937 rng($semirandom)
#define pb push_back // ============== primes =========================
#define sz(c) ll((c).size()) // seq $from $to | factor | grep -v ' .* '
// pll // 2^30: +3, +7, +9, +385, -407
using pll = pair<ll,ll>; // 2^60: +33, +91, +933, -753
using vpll = vector<pll>; // =============== stress test script ==============
#define xx first // for((i=1;;++i)); do
#define yy second // echo $i
// double // ./gen > in
using dd = double; // diff -w <(./A < in) <(./brute < in) || break
const dd eps = 1e-9; // done
#define TR(X) ({ if(1) cerr << __LINE__ << ": " #X " = " << (X) << endl; })
int main() {
cin.sync_with_stdio(0); cin.tie(0);
ll n, t; cin >> n >> t;
vl k(n);
FOR(i, 0, n){
cin >> k[i];
}
ll lo = 1, hi = oo;
while(lo < hi){
ll mid = (lo + hi) / 2;
__int128 total = 0;
FOR(i, 0, n){
total += mid / k[i];
}
if(total >= t)
hi = mid;
else lo = mid + 1;
}
cout << lo << endl;
}
Test details
Test 1
Verdict: ACCEPTED
| input |
|---|
| 10 10 6 5 1 2 1 5 10 4 6 6 |
| correct output |
|---|
| 4 |
| user output |
|---|
| 4 |
Test 2
Verdict: ACCEPTED
| input |
|---|
| 10 10 6 6 4 3 4 9 3 2 6 10 |
| correct output |
|---|
| 6 |
| user output |
|---|
| 6 |
Test 3
Verdict: ACCEPTED
| input |
|---|
| 10 10 5 4 10 7 8 4 1 8 9 2 |
| correct output |
|---|
| 5 |
| user output |
|---|
| 5 |
Test 4
Verdict: ACCEPTED
| input |
|---|
| 1 1000000000 1 |
| correct output |
|---|
| 1000000000 |
| user output |
|---|
| 1000000000 |
Test 5
Verdict: ACCEPTED
| input |
|---|
| 1 1000000000 1000000000 |
| correct output |
|---|
| 1000000000000000000 |
| user output |
|---|
| 1000000000000000000 |
Test 6
Verdict: ACCEPTED
| input |
|---|
| 1000 1000 271 687 392 992 11 410 702 870... |
| correct output |
|---|
| 223 |
| user output |
|---|
| 223 |
Test 7
Verdict: ACCEPTED
| input |
|---|
| 1000 1000 598 523 703 794 737 689 724 26... |
| correct output |
|---|
| 282 |
| user output |
|---|
| 282 |
Test 8
Verdict: ACCEPTED
| input |
|---|
| 200000 1000000000 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 ... |
| correct output |
|---|
| 5000 |
| user output |
|---|
| 5000 |
Test 9
Verdict: ACCEPTED
| input |
|---|
| 200000 1 760045594 599341056 300698860 ... |
| correct output |
|---|
| 8214 |
| user output |
|---|
| 8214 |
Test 10
Verdict: ACCEPTED
| input |
|---|
| 200000 1000000000 33941840 210038922 596070148 7... |
| correct output |
|---|
| 371045814100 |
| user output |
|---|
| 371045814100 |
Test 11
Verdict: ACCEPTED
| input |
|---|
| 25 1000000000 1000000000 1 1 1 1 1 1 1 1 1 1... |
| correct output |
|---|
| 41666667 |
| user output |
|---|
| 41666667 |
Test 12
Verdict: ACCEPTED
| input |
|---|
| 12 1000000000 1 1 1 1 1 1 1 1 1 1 1 10000000... |
| correct output |
|---|
| 90909091 |
| user output |
|---|
| 90909091 |
Test 13
Verdict: ACCEPTED
| input |
|---|
| 23 1000000000 1000000000 1000000000 10000000... |
| correct output |
|---|
| 43478261000000000 |
| user output |
|---|
| 43478261000000000 |
Test 14
Verdict: ACCEPTED
| input |
|---|
| 23 1000000000 1000000000 1000000000 10000000... |
| correct output |
|---|
| 43478261000000000 |
| user output |
|---|
| 43478261000000000 |
Test 15
Verdict: ACCEPTED
| input |
|---|
| 3 3 10 11 12 |
| correct output |
|---|
| 12 |
| user output |
|---|
| 12 |
