Submission #576238

#TimeUsernameProblemLanguageResultExecution timeMemory
576238Aldas25Self Study (JOI22_ho_t2)C++14
0 / 100
321 ms5112 KiB
/* //#pragma GCC target ("avx2") #pragma GCC optimize ("O3") #pragma GCC optimize ("unroll-loops") */ #include <bits/stdc++.h> using namespace std; #define FAST_IO ios_base::sync_with_stdio(0); cin.tie(nullptr) #define FOR(i, a, b) for(int i = (a); i <= (b); i++) #define REP(n) FOR(O, 1, (n)) #define pb push_back #define f first #define s second typedef long double ld; typedef long long ll; typedef pair<int, int> pii; typedef vector<int> vi; typedef vector<ll> vl; typedef vector<pii> vii; mt19937 rng(chrono::steady_clock::now().time_since_epoch().count()); const int MAXN = 500100, MAXK = 20; const ll INF = 1e14; //const ll MOD = 1e9+7; const ll MOD = 998244353; void setIO() { FAST_IO; } void setIO(string s) { FAST_IO; freopen((s+".in").c_str(), "r", stdin); freopen((s+".out").c_str(), "w", stdout); } ll n, m; ll a[MAXN], b[MAXN]; bool check (ll x) { ll needLessons = 0; FOR(i, 1, n) { //ll w1 = (x + a[i] - 1) / a[i]; //ll w2 = (x-m*a[i] + b[i] - 1) / b[i]; if (m*a[i] >= x) needLessons -= m - (x+a[i]-1)/a[i]; else needLessons += (x-m*a[i] + b[i] - 1) / b[i]; } return needLessons <= 0; } int main() { setIO(); cin >> n >> m; FOR(i, 1, n) cin >> a[i]; FOR(i, 1, n) cin >> b[i]; FOR(i, 1, n) a[i] = max(a[i], b[i]); ll le = 0, ri = 1e18+7; while (le < ri) { ll m = (le+ri+1)/2; if (check(m)) le = m; else ri = m-1; } cout << le << "\n"; return 0; }

Compilation message (stderr)

Main.cpp: In function 'void setIO(std::string)':
Main.cpp:38:12: warning: ignoring return value of 'FILE* freopen(const char*, const char*, FILE*)' declared with attribute 'warn_unused_result' [-Wunused-result]
   38 |     freopen((s+".in").c_str(), "r", stdin);
      |     ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Main.cpp:39:12: warning: ignoring return value of 'FILE* freopen(const char*, const char*, FILE*)' declared with attribute 'warn_unused_result' [-Wunused-result]
   39 |     freopen((s+".out").c_str(), "w", stdout);
      |     ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...