답안 #588083

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
588083 2022-07-02T17:14:12 Z Mounir Self Study (JOI22_ho_t2) C++14
0 / 100
1000 ms 5160 KB
#include <bits/stdc++.h>
#define all(v) v.begin(), v.end()
#define sz(x) (int)x.size()
#define pb push_back
#define pii pair<int, int>
#define chmin(x, v) x = min(x, v)
#define chmax(x, v) x = max(x, v)
#define print(x) cout << #x << " est " << x << endl;
#define x first
#define y second
#define int long long
using namespace std;
 
const int N = 1e6;
int nCours, nWeeks;
int a[N], b[N];
 
inline bool isOk(int bInf){
      int aAllouer = 0;
      for (int iCours = 0; iCours < nCours; ++iCours){
            int besoin = ceil(bInf/(long double)(a[iCours]));
            if (besoin <= nWeeks)
                  aAllouer += nWeeks - besoin;
            else {
                  int reste = bInf - nWeeks * a[iCours];
                  reste = ceil((long double)(reste)/b[iCours]);
                  aAllouer -= reste;
            }
      }
 
    //  cout << aAllouer
      return aAllouer >= 0;
}
 
signed main(){ 
      cin >> nCours >> nWeeks;
      for (int i = 0; i < nCours; ++i)
            cin >> a[i];
      for (int i = 0; i < nCours; ++i){
            cin >> b[i];
            chmax(a[i], b[i]);
      }
 
      int gauche = 0, droite = nWeeks * 1e9;
      while (droite > gauche){
            int mid = (gauche + droite)/2 + 1;
            if (isOk(mid))
                  gauche = mid;
            else
                  droite = mid - 1;
      }
      cout << gauche << endl;
      return 0;   
}
# 결과 실행 시간 메모리 Grader output
1 Correct 0 ms 212 KB Output is correct
2 Correct 0 ms 212 KB Output is correct
3 Correct 1 ms 212 KB Output is correct
4 Correct 0 ms 212 KB Output is correct
5 Correct 0 ms 212 KB Output is correct
6 Correct 0 ms 212 KB Output is correct
7 Correct 0 ms 212 KB Output is correct
8 Correct 0 ms 212 KB Output is correct
9 Correct 0 ms 212 KB Output is correct
10 Correct 4 ms 380 KB Output is correct
11 Correct 281 ms 5116 KB Output is correct
12 Correct 260 ms 4992 KB Output is correct
13 Correct 187 ms 4968 KB Output is correct
14 Correct 202 ms 4900 KB Output is correct
15 Correct 0 ms 212 KB Output is correct
16 Execution timed out 1091 ms 5160 KB Time limit exceeded
17 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 0 ms 212 KB Output is correct
2 Execution timed out 1091 ms 5160 KB Time limit exceeded
3 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 0 ms 212 KB Output is correct
2 Correct 0 ms 212 KB Output is correct
3 Correct 1 ms 212 KB Output is correct
4 Correct 0 ms 212 KB Output is correct
5 Correct 0 ms 212 KB Output is correct
6 Correct 0 ms 212 KB Output is correct
7 Correct 0 ms 212 KB Output is correct
8 Correct 0 ms 212 KB Output is correct
9 Correct 0 ms 212 KB Output is correct
10 Correct 4 ms 380 KB Output is correct
11 Correct 281 ms 5116 KB Output is correct
12 Correct 260 ms 4992 KB Output is correct
13 Correct 187 ms 4968 KB Output is correct
14 Correct 202 ms 4900 KB Output is correct
15 Correct 0 ms 212 KB Output is correct
16 Execution timed out 1091 ms 5160 KB Time limit exceeded
17 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 0 ms 212 KB Output is correct
2 Execution timed out 1091 ms 5160 KB Time limit exceeded
3 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 0 ms 212 KB Output is correct
2 Correct 0 ms 212 KB Output is correct
3 Correct 1 ms 212 KB Output is correct
4 Correct 0 ms 212 KB Output is correct
5 Correct 0 ms 212 KB Output is correct
6 Correct 0 ms 212 KB Output is correct
7 Correct 0 ms 212 KB Output is correct
8 Correct 0 ms 212 KB Output is correct
9 Correct 0 ms 212 KB Output is correct
10 Correct 4 ms 380 KB Output is correct
11 Correct 281 ms 5116 KB Output is correct
12 Correct 260 ms 4992 KB Output is correct
13 Correct 187 ms 4968 KB Output is correct
14 Correct 202 ms 4900 KB Output is correct
15 Correct 0 ms 212 KB Output is correct
16 Execution timed out 1091 ms 5160 KB Time limit exceeded
17 Halted 0 ms 0 KB -