首页 > 其他分享 >一段和

一段和

时间:2024-02-02 09:11:20浏览次数:17  
标签:正整数 int 位置 long mp 一段

N个正整数,如果连续的一段(可能是一个数)和能被M整除,输出这一段的开始位置和结束位置。如果答案有多段,输出结束位置最前面的一段。

输入格式
第一行:2个正整数N和M,范围 1<M<N<100000。
第二行:N个正整数,每个数范围[1,10000]。

输出格式
2个正整数。


  • 看到题目叫“一段和”,立刻就想到了前缀和
  • 前缀和数组要开long long!!!
  • 如果i位置和j位置的元素模m的余数相同,则[i+1,j]的和是m的倍数
  • 余数可以用map统计

#include<bits/stdc++.h>
using namespace std;
long long a[100005],b[100005];
int main() {
    int n,m;
    cin>>n>>m;
    map<int,int> mp;
    for(int i=1;i<=n;i++){
        cin>>a[i];
        b[i]=b[i-1]+a[i];
        int k=b[i]%m;
        if(mp[k]==0 && k!=0)
            mp[k]=i;
        else{
            cout<<mp[k]+1<<" "<<i;
            return 0;
        }
    }
    return 0;
}

标签:正整数,int,位置,long,mp,一段
From: https://www.cnblogs.com/algorithm-hu/p/18002519

相关文章

  • 张良刺杀秦始皇:一段被历史遗忘的英雄传奇
    张良刺杀秦始皇:一段被历史遗忘的英雄传奇01秦始皇一统六国,建立起中国历史上第一个大一统的中央集权国家,他被誉为“千古一帝”。然而,在他辉煌的一生中,也曾遭遇过多次刺杀,其中最为著名的一次就是张良策划的行刺。张良,字子房,出身于韩国贵族之家。秦灭韩后,他散尽家财,寻求勇士刺杀......
  • 写一段rust代码,两个线程共享一个bool变量,一个写,一个读
    usestd::sync::{Arc,Mutex};usestd::thread;fnmain(){//创建一个布尔变量并用Arc和Mutex包装,使其可在多个线程间共享和修改letshared_bool=Arc::new(Mutex::new(false));//克隆Arc变量,以便在两个线程之间共享letwriter_shared_bool=Ar......
  • 想要一个图标跟在一段文字后面,文字换行它也换行
    <a:href="row.sourceRepo"target="_blank"class="source-repo-link">{{row.sourceRepo}}</a>......
  • python截取视频中的一段成gif
    frommoviepy.editorimportVideoFileClipvideo=VideoFileClip('xxxx.mp4')#剪辑从第1秒到第6秒的视频片段clipped_video=video.subclip(0,6)#保存成gifclipped_video.write_gif('output.gif')#加载GIF文件clip=VideoFileClip('output.gif')#......
  • Java如何过滤掉一段字符串中出现重复的字母或数字?
    可以使用Java中的HashSet来去除一段字符串中出现重复的字母或数字。HashSet是一个不允许有重复元素的集合,因此可以利用它的特性来去除重复的字符或数字。示例代码如下:importjava.util.HashSet;publicclassRemoveDuplicates{publicstaticvoidmain(String[]args){......
  • pico用usb adb连一段时间,貌似会退出并无法重连
    pico用usbadb连一段时间,貌似会退出并无法重连的问题可能有多种原因。以下是一些建议的解决方法:重启ADB服务:您可以尝试使用命令行adbkill-server停止ADB服务,然后使用adbstart-server重新启动ADB服务。最后,使用adbdevices查看设备连接状态。修改ADB端口:有时,端口被其他程序......
  • 我的第一段实习复盘
    我的第一段实习经历复盘在2023年的八月,我找到了自己的第一段实习,一直实习到了2024年的1月15号,实习结束。实习期间,感受颇多。复盘总结记录一下,希望之后的自己可以继续进步,有更好的工作机会。自身背景广东双非院校,大学城里唯一的二本(这一说估计就有人知道是哪一所了哈哈哈),专业是......
  • 一段神奇的代码
    importtimeimportosimportpsutilimportntplibfromdatetimeimportdatetimedefget_network_time():ntp_client=ntplib.NTPClient()response=ntp_client.request('pool.ntp.org')returndatetime.fromtimestamp(response.tx_time)d......
  • 一段pytion执行代码,模拟人的收割,我指的是死亡的镰刀
    classPerson:def__init__(self,name):self.name=namedefharvest(self,crop):ifcrop=="死亡的镰刀":print(f"{self.name}被死亡的镰刀杀死了。")else:print(f"{self.name}正在收割{crop}。&qu......
  • antlr 在一段字符可被多个 terminal node 匹配时的行为
    考虑下面一段antlr语法STRING:[a-zA-Z0-9]+;NUMBER:[0-9]+;NEWLINE:'\r'?'\n';root:idtitleEOF;id:'id:'NUMBERNEWLINE;title:'title:'STRINGNEWLINE;我们希望id:后面只存在数字,而title:后买可存在数字或字母,因而定义了NUMBER和STRIN......