Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <bits/stdc++.h>
- #define int long long
- using namespace std;
- ifstream fin("pitici.in");
- ofstream fout("pitici.out");
- int32_t main() {
- fin.sync_with_stdio(false);
- fout.sync_with_stdio(false);
- fin.tie(nullptr);
- fout.tie(nullptr);
- int N;
- fin >> N;
- vector < int > a(N + 2), b(N + 2);
- for(int i = 1; i <= N; ++i) {
- fin >> a[i];
- a[i] += a[i - 1];
- }
- for(int i = 1; i <= N; ++i)
- fin >> b[i];
- vector < int > v(N + 2);
- for(int i = 1; i <= N; ++i) {
- ++v[i];
- int st = i, dr = N, ans = N;
- while(st <= dr) {
- int mid = (st + dr) >> 1;
- int sum = a[mid] - a[i - 1];
- if(sum >= b[i]) {
- ans = mid;
- dr = mid - 1;
- }
- else
- st = mid + 1;
- }
- --v[ans + 1];
- }
- int mx = 0, cnt = 0;
- for(int i = 1; i <= N; ++i) {
- v[i] += v[i - 1];
- if(v[i] > mx) {
- mx = v[i];
- cnt = 1;
- }
- else
- if(v[i] == mx)
- ++cnt;
- }
- fout << mx << ' ' << cnt;
- }
Advertisement
Add Comment
Please, Sign In to add comment