杭电ACM第二场1006
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=6768
#include <iostream> #include <cstdio> //定义输入/输出函数 #include <stack> //STL 堆栈容器 #include <map> //STL 映射容器 #include<set> #include <vector> //STL 动态数组容器 #include <string> //字符串类 #include <iterator> //STL迭代器 #include <cstdlib> //定义杂项函数及内存分配函数 #include <cstring> //字符串处理ed #include<algorithm> #include<queue> #include<cmath> #include<fstream> #include<ctime> using namespace std; #define ll long long #define ull unsigned long long #define FOR(ITER,BEGIN,END) for(int ITER=BEGIN;ITER<END;ITER++) #define PER(ITER,TIMES) FOR(ITER,0,TIMES) #define TIME(TIME_NUMBER) PER(_PETER_MRSCO_ITER_,TIME_NUMBER) #define close_stdin ios::sync_with_stdio(false) #define inf 0x3f3f3f3f #define out_put(l,r,aaaa) {for (int i=l;i<=r;i++){cout<<aaaa[i]<<" ";}cout<<"\n";} const int maxn = 3000005; ull a[maxn]; ull read() { ull res = 0; int n,temp; cin >> n; for (int i = 1;i <= n;i++) { cin >> temp; res += temp * a[i]; } return res; } void solve() { ull A, B, C,i; A = read(); B = read(); C = read(); A *= B; for ( i = 1;C + a[i] != A;i++) {} cout << i << "\n"; } void pre_solve() { a[1] = 1; a[2] = 2; for (int i = 3;i <= maxn - 5;i++) { a[i] = a[i - 2] + a[i - 1]; } } int main() { close_stdin; cin.tie(0); cout.tie(0); pre_solve(); int t; cin >> t; while (t--) { solve(); } }