Submission #756552

# Submission time Handle Problem Language Result Execution time Memory
756552 2023-06-11T21:42:06 Z michao Self Study (JOI22_ho_t2) C++14
10 / 100
554 ms 11468 KB
#include <bits/stdc++.h>
#define int long long
#define mp make_pair
#define pb push_back
#define ld long double
#define pii pair<int,int>
#define sz(x) (int)x.size()
#define piii pair<pii,pii>
#define precise cout<<fixed<<setprecision(10)
#define st first
#define nd second
#define ins insert
#define vi vector<int>
#define BOOST ios_base::sync_with_stdio(false);cin.tie(0);cout.tie(0)
using namespace std;
const int MAX=3e5+5;
const int inf=(int)3e18+9;
int a[MAX],b[MAX];
int n,m;
int gora(int x,int y){
  if (x%y==0)return x/y;
  return x/y+1;
}
bool check(int mid){
  int balans=0;
  for (int i=1;i<=n;i++){
    int wale=max(a[i],b[i]);
    int need=gora(mid,wale);
    if (need<=m)balans+=m-need;
    else{
      int sum=mid-wale*m;
      assert(sum>=0LL);
      int odejmij=gora(sum,b[i]);
      balans-=odejmij;
    }
  }
  return balans>=0;
}
int32_t main()
{
  BOOST;
  cin>>n>>m;
  for (int i=1;i<=n;i++)cin>>a[i];
  for (int i=1;i<=n;i++)cin>>b[i];
  int ans2=inf;
  if (m==1){
    for (int i=1;i<=n;i++)ans2=min(ans2,max(a[i],b[i]));
  }
  int ip=0,ik=inf;
  while (ip+1<ik){
    int mid=(ip+ik)>>1;
    if (check(mid))ip=mid;
    else ik=mid;
  }
  cout<<ans2;
  return 0;
}
# Verdict Execution time Memory Grader output
1 Correct 0 ms 212 KB Output is correct
2 Correct 0 ms 212 KB Output is correct
3 Correct 0 ms 212 KB Output is correct
4 Correct 0 ms 212 KB Output is correct
5 Correct 1 ms 212 KB Output is correct
6 Correct 1 ms 212 KB Output is correct
7 Correct 1 ms 212 KB Output is correct
8 Correct 0 ms 212 KB Output is correct
9 Correct 1 ms 212 KB Output is correct
10 Correct 4 ms 340 KB Output is correct
11 Correct 240 ms 4996 KB Output is correct
12 Correct 233 ms 4964 KB Output is correct
13 Correct 241 ms 4948 KB Output is correct
14 Correct 490 ms 5000 KB Output is correct
15 Correct 1 ms 332 KB Output is correct
16 Correct 554 ms 6084 KB Output is correct
17 Correct 276 ms 11468 KB Output is correct
18 Correct 235 ms 10788 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 1 ms 332 KB Output is correct
2 Correct 554 ms 6084 KB Output is correct
3 Correct 276 ms 11468 KB Output is correct
4 Correct 235 ms 10788 KB Output is correct
5 Incorrect 1 ms 212 KB Output isn't correct
6 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 0 ms 212 KB Output is correct
2 Correct 0 ms 212 KB Output is correct
3 Correct 0 ms 212 KB Output is correct
4 Correct 0 ms 212 KB Output is correct
5 Correct 1 ms 212 KB Output is correct
6 Correct 1 ms 212 KB Output is correct
7 Correct 1 ms 212 KB Output is correct
8 Correct 0 ms 212 KB Output is correct
9 Correct 1 ms 212 KB Output is correct
10 Correct 4 ms 340 KB Output is correct
11 Correct 240 ms 4996 KB Output is correct
12 Correct 233 ms 4964 KB Output is correct
13 Correct 241 ms 4948 KB Output is correct
14 Correct 490 ms 5000 KB Output is correct
15 Incorrect 1 ms 212 KB Output isn't correct
16 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Incorrect 1 ms 212 KB Output isn't correct
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 0 ms 212 KB Output is correct
2 Correct 0 ms 212 KB Output is correct
3 Correct 0 ms 212 KB Output is correct
4 Correct 0 ms 212 KB Output is correct
5 Correct 1 ms 212 KB Output is correct
6 Correct 1 ms 212 KB Output is correct
7 Correct 1 ms 212 KB Output is correct
8 Correct 0 ms 212 KB Output is correct
9 Correct 1 ms 212 KB Output is correct
10 Correct 4 ms 340 KB Output is correct
11 Correct 240 ms 4996 KB Output is correct
12 Correct 233 ms 4964 KB Output is correct
13 Correct 241 ms 4948 KB Output is correct
14 Correct 490 ms 5000 KB Output is correct
15 Incorrect 1 ms 212 KB Output isn't correct
16 Halted 0 ms 0 KB -