Codeforces--633D--Fibonacci-ish(map+去重)(twice)
来源:互联网 发布:程序员的思维修炼 编辑:程序博客网 时间:2024/05/16 07:42
Fibonacci-ish
Description
Yash has recently learnt about the Fibonacci sequence and is very excited about it. He calls a sequence Fibonacci-ish if
- the sequence consists of at least two elements
- f0 andf1 are arbitrary
- fn + 2 = fn + 1 + fn for all n ≥ 0.
You are given some sequence of integers a1, a2, ..., an. Your task is rearrange elements of this sequence in such a way that its longest possible prefix is Fibonacci-ish sequence.
Input
The first line of the input contains a single integer n (2 ≤ n ≤ 1000) — the length of the sequenceai.
The second line contains n integers a1, a2, ..., an (|ai| ≤ 109).
Output
Print the length of the longest possible Fibonacci-ish prefix of the given sequence after rearrangement.
Sample Input
31 2 -1
3
528 35 7 14 21
4
Sample Output
Hint
In the first sample, if we rearrange elements of the sequence as - 1, 2, 1, the whole sequenceai would be Fibonacci-ish.
In the second sample, the optimal way to rearrange elements is ,,,,28.
Source
#include<iostream>#include<map>#include<cstring>#include<algorithm>using namespace std;int num[1010];map<int, int>fp;int DFS(int a, int b){int ans = 0;if (fp[a + b]){fp[a + b]--;ans=DFS(b, a + b)+1;fp[a + b]++;}return ans;}int main(){int n;while (cin >> n){memset(num, 0, sizeof(num));fp.clear();for (int i = 0; i < n; i++)cin >> num[i], fp[num[i]]++;sort(num, num + n);int ans = 0;int N = unique(num, num + n)-num;for (int i = 0; i < N; i++){for (int j = 0; j < N; j++){if (i == j&&fp[num[i]] == 1) continue;fp[num[i]]--, fp[num[j]]--;ans = max(ans, DFS(num[i], num[j]) + 2);fp[num[i]]++, fp[num[j]]++;}}cout << ans << endl;}return 0;}
- Codeforces--633D--Fibonacci-ish(map+去重)(twice)
- Codeforces--633D--Fibonacci-ish(暴力搜索+去重)(map)
- Codeforces 633D Fibonacci-ish(搜索)
- CodeForces 633 D.Fibonacci-ish(枚举)
- CodeForces - 633D Fibonacci-ish (map&暴力)
- CodeForces 633D Fibonacci-ish(容器暴力)
- Codeforces 633D Fibonacci-ish 【暴力递归】
- Codeforces 633D Fibonacci-ish(暴力)
- Codeforces 633D Fibonacci-ish 数学+暴力
- Manthan, Codefest 16 D. Fibonacci-ish(暴力、规律)
- Manthan, Codefest 16 D. Fibonacci-ish(暴力)
- codeforces 651C(map、去重)
- codeforces633D Fibonacci-ish map容器
- Manthan, Codefest 16 633D Fibonacci-ish(脑洞+stl)
- 【Manthan, Codefest 16D】【暴力+去重or特判】Fibonacci-ish n个数组成最长斐波那契数列的长度
- Manthan, Codefest 16 D. Fibonacci-ish
- Manthan, Codefest 16-D. Fibonacci-ish
- Codeforces 633H. Fibonacci-ish II (Mo's Algorithm(莫队算法) + 线段树 + 离散化)
- Java并发编程(二)
- css图片的查找方式和c#程序查找方式不一致
- 部署与管理ZooKeeper(转)
- 网络编程 简易聊天室
- 【小白爱编程】之编译也崩盘
- Codeforces--633D--Fibonacci-ish(map+去重)(twice)
- Java序列化之Rebis存储序列化
- (多线程)Threa
- ZooKeeper典型应用场景(转)
- 蛇形矩阵
- 解决label上的文本字符串显示不同的字体和颜色(看我就够了)
- Java之美[从菜鸟到高手演变]之设计模式
- ZooKeeper概述(转)
- 面向对象(OOP)基础