首页 > 其他分享 >CF1690(Div3) E. Price Maximization 好题

CF1690(Div3) E. Price Maximization 好题

时间:2022-10-27 21:12:52浏览次数:68  
标签:int Price CF1690 Maximization read while 余数 相加 getchar

题目传送门

首先,可以发现,我们不关心原数字的大小,只关心他们除以 \(k\) 之后的余数。如此考虑: 两个数相加,\((a + b) / k = a / k + b / k + (a\) \(mod\) \(k + b\) \(mod\) \(k) / k\)。
如果二者余数部分达不到 \(k\),那么相加时其余数也必然不会对总答案有效。

因此,直接对每个数取余,然后判断所有余数中有多少对能相加大于等于 \(k\)。

思路非常好的一道题。

#include <bits/stdc++.h>
using namespace std;
#define N 1000010
#define ll long long

template <class T>
inline void read(T& a){
	T x = 0, s = 1;
	char c = getchar();
	while(!isdigit(c)){ if(c == '-') s = -1; c = getchar(); }
	while(isdigit(c)){ x = x * 10 + (c ^ '0'); c = getchar(); }
	a = x * s;
	return ;
}

int a[N]; 
int main(){
  // freopen("hh.txt", "r", stdin); 
  int T; read(T);
  while(T--){
    int n, k; 
    read(n), read(k);
    for(int i = 1; i <= n; i++) read(a[i]); 
    ll ans = 0; 
    for(int i = 1; i <= n; i++){
      ans += a[i] / k; 
      a[i] %= k; 
    }
    sort(a + 1, a + n + 1); 
    int l = 1, r = n; 
    for( ; l < r; l++, r--){
      while(a[l] + a[r] < k && l < r) l++; 
      if(l >= r) break; 
      ans++; 
    }
    printf("%lld\n", ans); 
  }
  return 0;
}

标签:int,Price,CF1690,Maximization,read,while,余数,相加,getchar
From: https://www.cnblogs.com/wondering-world/p/16833739.html

相关文章

  • SQLBackupAndFTP Features & PricesDownloadBuyLinuxMore 备份数据库到对象存储
    额,最近妖孽又开始泛滥了,怎么能把数据库备份到对象存储,避免丢数据SQLBackupAndFTPDownloadSQL备份和FTP可以做什么?SQLBackupAndFTP是一款软件,用于备份SQLServer、......
  • CF1690G
    用map暴力维护每段,如果不小于前一段就把这段直接删了,否则往后暴力删段直到某段小于这一段。每次输出map的大小即可。因为总共至多新建\(n+m\)个段,所以均摊复杂度\(......
  • PriceFixed
    传送门题意:市场上有\(a[i]\)种商品,每种商品的价格都是\(2\)。现在你需要买这种商品\(a[i]\)件。但是对于第\(i\)种商品有一个属性\(bi\),意味着如果你已经买了\(bi......
  • [WSDM 2021]Bipartite Graph Embedding via Mutual InformationMaximization
    总结利用生成对抗网络实现无监督的二部图嵌入方法,聚合时先聚合二跳邻居到一跳再聚合到自己身上以规避不同类型的问题二部图嵌入方式随机游走法重构法,包含协同过滤......
  • Highest Price in Supply Chain (25)
    题目描述Asupplychainisanetworkofretailers(零售商),distributors(经销商),andsuppliers(供应商)--everyoneinvolvedinmovingaproductfromsuppliertocusto......
  • [Google] LeetCode 2034 Stock Price Fluctuation
    Youaregivenastreamofrecordsaboutaparticularstock.Eachrecordcontainsatimestampandthecorrespondingpriceofthestockatthattimestamp.Unfort......