Submission #15619338


Source Code Expand

#include <bits/stdc++.h>
#define x first
#define y second
#define int int long long // 2e9 & 9e18
using namespace std; const int inf = numeric_limits<int>::max();
struct __io{__io(){ios_base::Init i; ios_base::sync_with_stdio(0); cin.tie(0);}} __io; // fast I/O
#ifdef LOCAL // setting up print debugging (yes lol)
template<class K, class V>ostream& operator<<(ostream&s,const pair<K,V>&p){s<<'<'<<p.x<<", "<<p.y<<'>';return s;}
template<class T, class=typename T::value_type, class=typename enable_if<!is_same<T,string>::value>::type>
ostream& operator<<(ostream&s,const T&v){s<<'[';for(auto&x:v){s<<x<<", ";}if(!v.empty()){s<<"\b\b";}s<<']';return s;}
void __prnt(){cerr<<endl;} template<class T, class...Ts>void __prnt(T&&a,Ts&&...etc){cerr<<a<<' ';__prnt(etc...);}
#define print(...) __prnt(__VA_ARGS__)
#else
#define print(...)
#endif

bool ok(vector<int> &a, double x, int k) {
	int k0;
	for (int d : a) {
		k0 = ceil(d / (x )) - 1;
		if (round(d / (k0 + 1)) > x) {
			k0++;
		}
		k -= k0;
	}

	return k >= 0;
}

signed main() {
    int n, k;
    cin >> n >> k;
    vector<int> a(n);
    for (int i = 0; i < n; ++i) {
        cin >> a[i];
    }

    int l = 0;
    int r = 1000000001;
    int m;
    while (l < r - 1) {
    	m = l + (r - l) / 2;
    	if (ok(a, m, k)) {
    		r = m;
    	} else {
    		l = m;
    	}
    }
    cout << r << endl;
}

Submission Info

Submission Time
Task E - Logs
User Norrius
Language C++ (GCC 9.2.1)
Score 500
Code Size 1404 Byte
Status AC
Exec Time 135 ms
Memory 4776 KiB

Judge Result

Set Name Sample All
Score / Max Score 0 / 0 500 / 500
Status
AC × 3
AC × 23
Set Name Test Cases
Sample sample00, sample01, sample02
All handmade03, handmade04, handmade05, handmade06, handmade07, handmade08, handmade09, handmade10, handmade11, handmade12, handmade13, handmade14, handmade15, handmade16, random16, random17, random18, random19, random20, random21, sample00, sample01, sample02
Case Name Status Exec Time Memory
handmade03 AC 6 ms 3640 KiB
handmade04 AC 3 ms 3564 KiB
handmade05 AC 2 ms 3568 KiB
handmade06 AC 74 ms 3952 KiB
handmade07 AC 126 ms 4776 KiB
handmade08 AC 4 ms 3448 KiB
handmade09 AC 2 ms 3508 KiB
handmade10 AC 2 ms 3640 KiB
handmade11 AC 55 ms 3724 KiB
handmade12 AC 98 ms 4080 KiB
handmade13 AC 4 ms 3612 KiB
handmade14 AC 5 ms 3524 KiB
handmade15 AC 116 ms 4424 KiB
handmade16 AC 126 ms 4680 KiB
random16 AC 100 ms 4184 KiB
random17 AC 133 ms 4760 KiB
random18 AC 135 ms 4776 KiB
random19 AC 93 ms 4128 KiB
random20 AC 91 ms 4196 KiB
random21 AC 101 ms 4488 KiB
sample00 AC 5 ms 3652 KiB
sample01 AC 2 ms 3652 KiB
sample02 AC 4 ms 3616 KiB