首页 > 其他分享 >N的倍数

N的倍数

时间:2022-10-21 19:45:37浏览次数:77  
标签:std 50005 int 倍数 main fl

传送门

好题!思路独特。

\(n+1\) 个前缀和肯定有两个相同的。

#include<bits/stdc++.h>
using namespace std;
int s[50005],pos[50005],a[50005];
int main(){
	int n,fl=0;cin>>n;
	for(int i=1;i<n;++i)pos[i]=-1;
	for(int i=1;i<=n;++i){
		cin>>a[i];
		if(fl)continue;
		s[i]=(s[i-1]+a[i])%n;
		//cout<<s[i]<<":"<<endl;
		if(pos[s[i]]==-1){
			pos[s[i]]=i;
		}else{
			cout<<i-pos[s[i]]<<endl;
			for(int j=pos[s[i]]+1;j<=i;++j){
				cout<<a[j]<<endl;
			}
			fl=1;
		}
	}
	if(!fl)cout<<"No Solution"<<endl;
	return 0;
}

标签:std,50005,int,倍数,main,fl
From: https://www.cnblogs.com/Huster-ZHY/p/16814593.html

相关文章

  • 3的倍数【牛客】
    链接:https://ac.nowcoder.com/acm/contest/29035/E输入描述:第一行是一个整数T,表示有T组数据。接下来有T行,每行两个整数L,R(L<=R)。1<=T<=10,L<=R<=10^18。输出......
  • YOLOX 输入分辨率 只能是32的倍数 如何计算
    YOLOX输入分辨率https://github.com/Megvii-BaseDetection/YOLOX/issues/851这个Issue里面讲到了只能用32的倍数比如720:1280不是32的倍数,怎么等比例缩放呢\[\begin......
  • 两个数的最小公倍数 与 最大公约数
    最小公倍数=两整数的乘积/最大公约数辗转相除法求最大公约数//3.辗转相除法(欧几里得算法)#include<stdio.h>intmain(){inta=0;intb=0;prin......
  • 三个数的最小公倍数
    扩大倍数法(代码实现容易)先列举出这三个数中最大数的倍数,再从这些倍数中找出较少数的倍数,即这两个数的公倍数,从而确定出最小公倍数。枚举法与求两个数的最小公倍数方......
  • ZLOJ 练习73 E k倍数字
    writtenon2022-08-23数位dp好题。数据范围较大,一开始打表找规律,然而失败了。后来比赛的时候就放掉了这题,现在想想,那个时候看到较大的数据范围还是应该考虑使用数位dp......
  • 4. [2001年NOIP普及组] 最大公约数和最小公倍数问题
    题目链接(码学堂,数据弱)题目链接(洛谷,数据极强)摘要:1.P,Q是正整数(unsigned)2.要求P,Q以x0为最大公约数,以y0为最小公倍数.试求:满足条件的所有可能的两个正整数的个数. ......
  • [2001年NOIP普及组] 最大公约数和最小公倍数问题
    p*q等于x0*y0。可以枚举到x0*y0中能被x0*y0整除的数,如果这个数与另一个这个数与它的积是x0*y0的数的最大公因数是x0或最小公倍数是y0,那这个数不是p就是q。每枚举出这样一个......
  • 求最小公倍数
    importjava.util.*;publicclassMain{publicstaticvoidmain(String[]args){//标准输入importjava.util.*;publicclassMain{publicstat......
  • 练习8:最大公约数和最小公倍数问题
    最大公约数的计算,用到辗转相除法例如:求gcd(24,10),可以转换为gcd(10,4),然后是gcd(4,2),然后是(2,0),最好得出结果是2方法1:functiongcd(a,b){vartempif......
  • [2001年NOIP普及组] 最大公约数和最小公倍数问题
     [2001年NOIP普及组]最大公约数和最小公倍数问题思路:可以运用暴力枚举法。先用两个数的乘积=他们的最大公约数*最小公倍数的公式求出乘积num,再在已知范围内暴力搜素能......