Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <bits/stdc++.h>
- using namespace std;
- unsigned long long v[200001], sumpart[200001], val, maxi;
- int n;
- ifstream f("secvmaxval.in");
- ofstream g("secvmaxval.out");
- int main()
- {
- f >> n >> val;
- for(int i = 1; i <= n; i++) {
- f >> v[i];
- sumpart[i] = v[i] + sumpart[i - 1];
- }
- for(int i = 1; i <= n; i++) {
- int left = i + 1, right = n;
- while(left <= right) {
- int mid = (left + right) / 2;
- if(sumpart[mid] - sumpart[i] + v[i] > val) {
- right = mid - 1;
- } else {
- left = mid + 1;
- }
- }
- if(right - i + 1 > maxi && sumpart[right] - sumpart[i] + v[i] <= val) {
- maxi = right - i + 1;
- }
- }
- g << maxi;
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement