C求优化
  • 板块学术版
  • 楼主Vitamin_B
  • 当前回复15
  • 已保存回复16
  • 发布时间2024/7/24 00:46
  • 上次更新2024/7/24 09:04:17
查看原帖
C求优化
743373
Vitamin_B楼主2024/7/24 00:46

rt,其它应该没啥问题,但是1ll<<use会爆炸,求优化QAQ

# pragma GCC optimize("Ofast,no-stack-protector")

# pragma GCC target("sse,sse2,sse3,ssse3,sse4,popcnt,abm,mmx,avx,tune=native")

# include <bits/stdc++.h>

# define I return

# define AK 0

# define IOI ;

using namespace std;

typedef long long ll;

typedef pair <int, int> pii;

int t, n, sum, x, lst, use;

bool flag;

int main () {

	ios::sync_with_stdio (0);

	cin.tie (0);

	cout.tie (0);

	cin >> t;

	while (t --) {

		cin >> n >> lst, sum = use = 0, flag = 0;

		for (int i = 1; i < n; ++ i) {

			cin >> x;

			if (lst != 1 && x == 1)
				flag = 1;

			if (flag)
				continue ;

			use = ceil (log2 (max (1.0, ceil (log2 (lst) / log2 (x) * (1ll << use)))));
//			cerr << use << ' ';
			sum += use;

			lst = x;

		}

		cout << (flag ? -1 : sum) << '\n';

	}

	I AK IOI

}
/*
1
9
16 2 4 2 256 2 4 2 8
*/
2024/7/24 00:46
加载中...