博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Codeforces--633D--Fibonacci-ish (map+去重)(twice)
阅读量:5140 次
发布时间:2019-06-13

本文共 1928 字,大约阅读时间需要 6 分钟。



Time Limit: 3000MS   Memory Limit: 524288KB   64bit IO Format: %I64d & %I64u

Description

Yash has recently learnt about the Fibonacci sequence and is very excited about it. He calls a sequence Fibonacci-ish if

  1. the sequence consists of at least two elements
  2. f0 and f1 are arbitrary
  3. 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 sequence ai.

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

Input
31 2 -1
Output
3
Input
528 35 7 14 21
Output
4

Sample Output

Hint

In the first sample, if we rearrange elements of the sequence as  - 1, 2, 1, the whole sequence ai would be Fibonacci-ish.

In the second sample, the optimal way to rearrange elements is , , , , 28.

Source

我去,以前做过的,就记得是dfs,但是忘记要用map跟去重了,真是人老了,记性不行咯
#include
#include
#include
#include
using namespace std;int num[1010];map
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;}

转载于:https://www.cnblogs.com/playboy307/p/5273390.html

你可能感兴趣的文章
PE知识复习之PE的导入表
查看>>
HDU 2076 夹角有多大(题目已修改,注意读题)
查看>>
洛谷P3676 小清新数据结构题(动态点分治)
查看>>
九校联考-DL24凉心模拟Day2T1 锻造(forging)
查看>>
Cortex M3/M4 学习摘要(二)
查看>>
C#时间的味道——任时光匆匆我只在乎你
查看>>
(1)数据结构——线性表(数组)实现
查看>>
SpringMyBatis解析2-SqlSessionFactoryBean
查看>>
按照excel文档中的内容在当前cad图纸中自动排布实体
查看>>
Winform开发框架之图表报表在线设计器2-图表-SNF.EasyQuery项目--SNF快速开发平台3.3-Spring.Net.Framework...
查看>>
C#基础第八天-作业-设计类-面向对象方式实现两个帐户之间转账
查看>>
洛谷 P3237 [HNOI2014]米特运输
查看>>
Attributes.Add用途与用法
查看>>
JavaScript面向对象初探——封装和继承
查看>>
L2-001 紧急救援 (dijkstra+dfs回溯路径)
查看>>
【概率】poj 2096:Collecting Bugs
查看>>
javascript 无限分类
查看>>
【自制插件】MMD4Maya
查看>>
解决linux服务器乱码
查看>>
mapbox.gl文字标注算法基本介绍
查看>>