首页 > 其他分享 >青蛙过河(前缀+二分)

青蛙过河(前缀+二分)

时间:2024-03-25 14:11:39浏览次数:23  
标签:二分 arr scanner int sum 青蛙 long 前缀

 1 import java.util.*;
 2 
 3 public class Main {
 4     public static void main(String[] args) {
 5         Scanner scanner=new Scanner(System.in);
 6         int n=scanner.nextInt();
 7         long x=scanner.nextLong();
 8         //前缀和
 9         long[]arr=new long[n+1];
10         arr[0]=0;
11         for(int i=1;i<=n-1;i++) {
12             arr[i]=scanner.nextLong()+arr[i];
13         }
14         arr[n]=arr[n-1]+9999999999L;
15         int l=0;
16         int sum=0;
17         for(int i=1;i<=n;i++) {
18             if(arr[i]-arr[l]>=2L*x) {
19                 sum=Math.max(sum, i-l);
20                 l+=1;
21             }
22         }
23         System.out.print(sum);
24     }
25 }

 

标签:二分,arr,scanner,int,sum,青蛙,long,前缀
From: https://www.cnblogs.com/saucerdish/p/18094263

相关文章

  • 【动态规划】【同余前缀和】【多重背包】[推荐]2902. 和带限制的子多重集合的数目
    本文涉及知识点动态规划汇总C++算法:前缀和、前缀乘积、前缀异或的原理、源码及测试用例包括课程视频C++算法:滑动窗口总结多重背包LeetCode2902.和带限制的子多重集合的数目给你一个下标从0开始的非负整数数组nums和两个整数l和r。请你返回nums中子多重集......
  • 蓝桥杯2017年第八届真题-分巧克力(二分算法)
    题目描述儿童节那天有K位小朋友到小明家做客。小明拿出了珍藏的巧克力招待小朋友们。小明一共有N块巧克力,其中第i块是HixWi的方格组成的长方形。为了公平起见,小明需要从这N块巧克力中切出K块巧克力分给小朋友们。切出的巧克力需要满足:1.形状是正方形,边长是整数2.大......
  • 洛谷题单算法1-6二分查找与二分答案
    代码仅供参考,不足之处望理解。P2249【深基13.例1】查找#include<iostream>usingnamespacestd;constintN=1e6+5;intn,m,a[N];intmain(){ios::sync_with_stdio(false);//输入cin>>n>>m;for(inti=1;i<=n;i++)cin>>a[i];for(inti=1......
  • C105 整体二分+树状数组 P2617 Dynamic Rankings
    视频链接:C105整体二分+树状数组P2617DynamicRankings_哔哩哔哩_bilibili  C96树状数组套权值线段树P2617DynamicRankings-董晓-博客园(cnblogs.com)C104【模板】整体二分+树状数组P3834可持久化线段树2-董晓-博客园(cnblogs.com)LuoguP2617Dynamic......
  • 3月22日二分法查找
    二分查找:二分查找也叫折半查找,二分查找要求线性表必须采用顺序存储结构,而且表中元素按关键字有序排列。普通查找的时间复杂度为O(n),二分查找的时间复杂度仅需要O(log2^n)查找的实现原理:先定左右边界,之后比较待查找元素与中间元素谁大谁小,如果中间值大于目标值,那么右边界等于中......
  • 二分算法查找列表中的目标值
    题目要求:给定一个已排序的非重复整数数组和一个目标值,如果找到目标,则返回索引。如果不是,返回索引按顺序插入时的位置。(用二分法查找解决)示例1:输入:[1,3,5,6],目标值5输出:2示例2:输入:[1,3,5,6],目标值2输出:1示例3:输入:[1,3,5,6],目标值7输出:4示例4:输入:[......
  • LeetCodeHot100 二分查找 35. 搜索插入位置 74. 搜索二维矩阵 34. 在排序数组中查
    35.搜索插入位置https://leetcode.cn/problems/search-insert-position/description/?envType=study-plan-v2&envId=top-100-likedpublicintsearchInsert(int[]nums,inttarget){intleft=0;intright=nums.length-1;while(left<......
  • 前缀和与差分
    ​ 前缀和就是一直累加即可,可以用于非常极速\(O(1)\)的区间查询。​ 差分则是取每两个相邻数字的差值,可以用于非常急速\(O(1)\)的区间修改,当然仅限加减。如果是乘除什么的建议去线段树​ 差分做一次前缀和可以得到原数组,原数组再做一次前缀和就是前缀和......算了文字太绕了看下......
  • 非有序数组也能二分? —— 红蓝染色法续篇(Leetcode 162.寻找峰值)
    1.写在前面本文为个人学习总结,参考:B站Up:灵茶山艾府参考视频链接:https://www.bilibili.com/video/BV1QK411d76w/2.题目我们来看一下下面这道题:峰值元素是指其值严格大于左右相邻值的元素。给你一个整数数组nums,找到峰值元素并返回其索引。数组可能包含多个峰值,在......
  • 14. 最长公共前缀c
    booljudge(char*s1,char*s2,intn){for(inti=0;i<n;i++){if(s1[i]!=s2[i])returnfalse;}returntrue;}char*longestCommonPrefix(char**strs,intstrsSize){intcount=strlen(strs[0]);for(inti=1;i<strsSize;i++){......