当前位置: 首页 > news >正文

PTA 甲级 1044 Shopping in Mars

题目链接

思路:前缀和+滑动窗口

#include<bits/stdc++.h>
#define MAXN 100010
using namespace std;
int a[MAXN];int main(){int n,m;cin>>n>>m;//n数量 m金额for(int i=1;i<=n;i++){int t;cin>>t;a[i]=a[i-1]+t;//前缀和}vector<pair<int,int>> ans;int i=1,j=1;//滑动窗口while(i<=j&&j<=n){// printf("%d-%d:%d\n",i,j,a[j]-a[i-1]);if(a[j]-a[i-1]==m){ans.push_back(make_pair(i,j));i++,j++;}else if(a[j]-a[i-1]>m) i++;else j++;if(i>j)j++;}if(ans.size()==0){//存储大于m的最小整数int minNum=8989898;i=1,j=1;while(i<=j&&j<=n){// printf("%d-%d:%d\n",i,j,a[j]-a[i-1]);if(a[j]-a[i-1]>m&&a[j]-a[i-1]<minNum){minNum=a[j]-a[i-1];ans.clear();ans.push_back(make_pair(i,j));i++;}else if(a[j]-a[i-1]==minNum){ans.push_back(make_pair(i,j));i++;}else if(a[j]-a[i-1]>minNum) i++;else j++;if(i>j)j++;}}for(auto &[x,y]:ans){cout<<x<<"-"<<y<<endl;}return 0;
}

http://www.lryc.cn/news/169648.html

相关文章:

  • Linux学习之MyCat实现分库分表
  • DirectX12(d3d12)初始化
  • 算法通关村-----回溯模板如何解决排列组合问题
  • 【1++的C++进阶】之智能指针
  • 一百七十九、Linux——Linux报错No package epel-release available
  • 【AI视野·今日CV 计算机视觉论文速览 第248期】Mon, 18 Sep 2023
  • 解决Vue项目中的“Cannot find module ‘vue-template-compiler‘”错误
  • tensorflow基础
  • spring_注解笔记
  • c++运算符重载
  • vue子组件向父组件传参的方式
  • 代码随想录Day41| 343. 整数拆分 |
  • 工厂模式-(简单工厂模式)
  • V8引擎是如何提升对象属性访问速度的?
  • 彩色相机工作原理——bayer格式理解
  • IDEA中DEBUG技巧
  • 人工智能训练师
  • 【业务功能118】微服务-springcloud-springboot-Kubernetes集群-k8s集群-KubeSphere-OpenELB部署及应用
  • Unity中Shader的模板测试
  • Scala 高阶:Scala中的模式匹配
  • 分子生物学——分子机器
  • 【简历优化】这套「实习、初级、中级」测试工程师求职简历模板,建议收藏。
  • vue中展示json数据的方法
  • 【SG滤波】三阶滤波、五阶滤波、七阶滤波(Matlab代码实现)
  • 2013 ~【VUE+ ElementUI】——【上传、下载】进度计算
  • android可见即可说实现方案
  • Pikachu Burte Force(暴力破解)
  • SpringMVC之JSON返回及异常处理
  • SkyWalking快速上手(六)——告警
  • docker run:--privileged=true选项解析(特权模式:赋予容器几乎与主机相同的权限)