D. Pair of Numbers Codeforces Round #209 (Div. 2)
来源:互联网 发布:php如何写短信接口 编辑:程序博客网 时间:2024/04/27 14:48
Simon has an array a1, a2, ..., an, consisting of n positive integers. Today Simon asked you to find a pair of integers l, r (1 ≤ l ≤ r ≤ n), such that the following conditions hold:
- there is integer j (l ≤ j ≤ r), such that all integers al, al + 1, ..., ar are divisible by aj;
- value r - l takes the maximum value among all pairs for which condition 1 is true;
Help Simon, find the required pair of numbers (l, r). If there are multiple required pairs find all of them.
The first line contains integer n (1 ≤ n ≤ 3·105).
The second line contains n space-separated integers a1, a2, ..., an (1 ≤ ai ≤ 106).
Print two integers in the first line — the number of required pairs and the maximum value of r - l. On the following line print all l values from optimal pairs in increasing order.
54 6 9 3 6
1 32
51 3 5 7 9
1 41
52 3 5 7 11
5 01 2 3 4 5
In the first sample the pair of numbers is right, as numbers 6, 9, 3 are divisible by 3.
In the second sample all numbers are divisible by number 1.
In the third sample all numbers are prime, so conditions 1 and 2 are true only for pairs of numbers (1, 1), (2, 2), (3, 3), (4, 4), (5, 5).
求出一个最长的序列,使得序列中存在一个所有数的公约数
#include <stdio.h>#include <iostream>#include <string>#include <cstring>#include <algorithm>#define N 300009using namespace std;int a[N];int n;int ans[N];int main(){ while(~scanf("%d",&n)) { for(int i=1;i<=n;i++) scanf("%d",&a[i]); int le,ri,tmp=-1,num=0; for(int i=1;i<=n;) { le=ri=i; while(le && a[le]%a[i]==0) le--; while(ri<=n && a[ri]%a[i]==0) ri++; i=ri; ri=ri-le-2; if(ri>tmp) { num=0; tmp=ri; } if(ri==tmp) ans[num++]=le+1; } printf("%d %d\n",num,tmp); for(int i=0;i<num;i++) { if(i==0) cout<<ans[i]; else cout<<" "<<ans[i]; } cout<<endl; } return 0;}
- Codeforces Round #209 (Div. 2) D. Pair of Numbers
- Codeforces Round #209 (Div. 2) D. Pair of Numbers
- Codeforces Round #209 (Div. 2), problem: (D) Pair of Numbers
- Codeforces Round #209 (Div. 2) D. Pair of Numbers
- D. Pair of Numbers Codeforces Round #209 (Div. 2)
- Codeforces Round #209 (Div. 2) D - Pair of Numbers
- Codeforces Round #209 (Div. 2) D.Pair of Numbers
- Codeforces Round #209 (Div. 2)-C. Prime Number(set)和D. Pair of Numbers(线段树)
- Codeforces Round #209 (Div. 2) / 359D Pair of Numbers (一点点想法)
- Codeforces 209 div2 D. Pair of Numbers
- Codeforces Round #236 (Div. 1) D. Beautiful Pairs of Numbers
- Codeforces 359D - Pair of Numbers
- Codeforces Codeforces Round #432 (Div. 2 D ) Arpa and a list of numbers 爆搜+剪枝
- Codeforces Codeforces Round #432 (Div. 2 D ) Arpa and a list of numbers
- 解题报告:Codeforces Round #432 (Div. 2) D. Arpa and a list of numbers 暴力
- Codeforces Round #432 (Div. 2) D 850B Arpa and a list of numbers(gcd 枚举)
- Codeforces 851D Arpa and a list of numbers Round #432 (Div. 2
- Codeforces Round #356 (Div. 1)D. Bear and Tower of Cubes【pair使用】
- java 矩阵包
- 第一章 对象的概念
- cocos2d游戏开发中的一些基本概念
- HDU - 1757 A Simple Math Problem 矩阵快速幂
- 交叉编译相关知识-------阿冬专栏!!!
- D. Pair of Numbers Codeforces Round #209 (Div. 2)
- leetcode wordbreak
- Django与MySQL数据库长连接问题
- ORACLE随机获取数据库表的一条记录
- Python爬虫_用Python爬取csdn页面信息目录
- Struts2 面试题
- TCP/IP协议(1)为什么需要tcp/ip协议(亚当需要寻找夏娃)?
- MSP430+QRCode二维码生成
- Vector与set的区别