首页 > 其他分享 >Codeforces Round 694 (Div. 2) A. Strange Partition

Codeforces Round 694 (Div. 2) A. Strange Partition

时间:2023-10-12 16:23:10浏览次数:47  
标签:lceil frac 694 sum Partition Codeforces cdots small rceil

给一个长为 \(n\) 的数组 \(a\) 和一个正整数 \(x\) 。你可以执行以下操作任意次:用两个相邻元素的和替换这两个元素。如 \([\cdots, a_i,a_{i+1},\cdots] \rightarrow [\cdots, a_i + a_{i+1},\cdots]\) 。

一个数组 \(b = [b_1, \cdots, b_k]\) 的美丽值定义为 \(\sum_{i=1}^{k} \lceil \frac{b_i}{x} \rceil\) 。

询问如何操作 \(a\) 能使 \(a\) 最后的美丽值最小和最大。输出最小值和最大值

显然 \(\lceil \frac{h}{x} \rceil + \lceil \frac{w}{x} \rceil \geq \lceil \frac{h + w}{x} \rceil\) 。

于是 \(a\) 的最小美丽值为 \(\lceil \frac{\sum_{i=1}^{n} a_i}{x} \rceil\) ,最大美丽值为 \(\sum_{i=1}^{n} \lceil \frac{a_i}{x} \rceil\) 。

view
#include <bits/stdc++.h>
void solve(){
	int n, x; std::cin >> n >> x;
	long long sum_big = 0, sum_small = 0;
	for (int i = 1; i <= n; i++) {
		int a; std::cin >> a;
		sum_small += a;
		sum_big += (a + x - 1) / x;
	}
	sum_small = (sum_small + x - 1) / x;
	std::cout << sum_small << ' ' << sum_big << '\n';
}
int main() {
	int _ = 1; std::cin >> _;
	while (_--) {solve();}
	return 0;
}

标签:lceil,frac,694,sum,Partition,Codeforces,cdots,small,rceil
From: https://www.cnblogs.com/zsxuan/p/17759783.html

相关文章

  • Codeforces Round 697 (Div. 3) A. Odd Divisor
    给一个正整数\(n\),判断\(n\)是否存在一个\(>1\)的奇数因子。只要\(n\)的唯一分解下存在除\(2\)以外的质因子,则\(n\)存在\(>1\)的奇数因子。于是\(n\neqlowbit(n)\)则\(n\)存在奇数因子。(应用了\(2^k=lowbit(2^k)\)的性质)view#include<bits/stdc+......
  • Codeforces Round 703 (Div. 2) A. Shifting Stacks
    给定\(n\)个石堆,第\(i\)个石堆高为\(h_i\)并且代表这堆石块的个数。在一次操作中你可以将第\(i\)堆中的一块石块移动(需要存在石块)到\(i+1\)堆。询问是否可以使石堆的高度严格递增。显然贪心地让第\(1\)堆的高度为\(0\)。然后线性模拟使得第\(1\simn-1\)的......
  • Codeforces Round 899 (Div. 2)
    目录写在前面ABCDE1E2写在最后写在前面比赛地址:https://codeforces.com/contest/1882。你知道我要在这里放一首由日本女歌手演唱的歌曲:一个队友去医院一个队友军训,堂堂单刷!感觉开场5h太浪费了于是找了场div2,然后C不会做卡了1h,妈的。看完题解立马会了,我果然是没脑子选......
  • CodeForces 1882E2 Two Permutations (Hard Version)
    洛谷传送门CF传送门如何评价,模拟赛搬了一道,前一天晚上代码写了一半的题。考虑如何让操作次数最小。发现直接做太困难了。根本原因是,一次操作对序列的影响太大了。考虑做一些转化,减少一次操作对序列的影响。仍然先考虑一个排列怎么做。不知道为什么可以想到在排列前面添加特......
  • Codeforces Round 834 (Div. 3)
    CodeforcesRound834(Div.3) A-Yes-Yes?思路:判断每种情况即可#include<bits/stdc++.h>usingnamespacestd;//#defineintlonglong//#defineint__int128#definedoublelongdoubletypedefpair<int,int>PII;typedefpair<string,int>PSI;typed......
  • Educational Codeforces Round 156 A-D
    A.SumofThree思路1:1.把数拆成1,2,n-32.如果(n-3)%3==0,那么拆成1,4,n-5,可证明n-3如果可被3整除,那么再左移两位一定除不尽思路2:1.如果n是奇数,那么可取一个数为2,其他两数为相邻数,如果两数其中一位被整除,那么两者往外走2.如果n为偶,那么可取一个数为1,同理上点击查看代码#inclu......
  • Educational Codeforces Round 156 (Rated for Div. 2)
    Preface沉迷Galgame不打CF懒狗闪总出列!这场在大物课上口胡了前四个题,回去写了也都很顺,然后E题本来做不来的,看了眼昨天校队群里的消息就会做了F题什么东西直接弃A.SumofThree当\(n\bmod3\ne0\)时,用\((1,2,z)\)来凑;否则当\(n\bmod3=0\)时,用\((1,4,z)\)来凑#include<cst......
  • Codeforces Round 706 (Div. 2) A. Split it!
    给一个长度为\(n\)的字符串\(s\)。给定一个正整数\(k\)。询问\(s\)能否等于\(a_1+a_2+\cdots+a_k+a_{k+1}+R(a_k)+R(a_{k-1})+\cdots+R(a_{1})\)。其中\(a_i\)代表一个非空字符串,\(R(a_i)\)代表\(a_i\)的\(reverse\)。由于\(a_{k+1}\)......
  • Codeforces Round 707 (Div. 2, based on Moscow Open Olympiad in Informatics) B. N
    按以下\(n\)次操作制作蛋糕。叠上第\(i\)块面包,然后浇上\(a_i\)单位的奶油。可以使当前往下\(a_i\)块面包沾上奶油。输出空格隔开的\(n\)个数,第\(i\)个的\(0/1\)代表第\(i\)块面包是否沾有奶油。比较显然的思路可以进行差分修改。view1#include<bits/std......
  • Codeforces Round 834 (Div. 3)
    A.Yes-Yes?#include<bits/stdc++.h>usingnamespacestd;#defineintlonglongusingpii=pair<int,int>;usingvi=vector<int>;conststringT="Yes";voidsolve(){strings;cin>>s;inti=-1;......