用前缀和写一直wa。。

思路:让金牌和银牌最少,通多增加铜牌的方式来扩大总奖牌的个数。

  1. #include<bits/stdc++.h>
  2. using namespace std;
  3. map<int ,int >mp;
  4. const int N=1e6+;
  5. int arr[N];
  6. void solve()
  7. {
  8. mp.clear();
  9. int n;
  10. cin>>n;
  11. int x;
  12. int pos=;
  13. for(int i=;i<=n;i++){
  14. cin>>x;
  15. if(!mp[x]) arr[pos++]=x;
  16. mp[x]++;
  17. }
  18. if(pos<) {
  19. cout<<"0 0 0"<<endl;
  20. return ;
  21. }
  22. int m=n/;
  23. if(m<) {
  24. cout<<"0 0 0"<<endl;
  25. return ;
  26. }
  27. int g=mp[arr[]];
  28. int b=,c=,posb,posc;
  29. int ansb=;
  30. for(int i=;i<pos;i++){
  31. ansb+=mp[arr[i]];
  32. if(ansb>g){
  33. b=ansb;
  34. posb=i;
  35. break;
  36. }
  37. }
  38. if(b==){
  39. cout<<"0 0 0"<<endl;
  40. return ;
  41. }
  42. int ansc=;
  43. for(int i=posb+;i<pos;i++){
  44. ansc+=mp[arr[i]];
  45. if(ansc>g){
  46. c=ansc;
  47. posc=i;
  48. break;
  49. }
  50. }
  51. if(c==){
  52. cout<<"0 0 0"<<endl;
  53. return ;
  54. }
  55. if(g+c+b>n/){
  56. cout<<"0 0 0"<<endl;
  57. return ;
  58. }
  59. while(g+b+c<=n/){
  60. c+=mp[arr[++posc]];
  61. }
  62. c-=mp[arr[posc]];
  63. cout<<g<<" "<<b<<" "<<c<<endl;
  64. }
  65.  
  66. int main()
  67. {
  68. ios::sync_with_stdio();
  69. int t;
  70. cin>>t;
  71. while(t--) solve();
  72. return ;
  73. }

C. Beautiful Regional Contest的更多相关文章

  1. Codeforces Round #604 (Div. 2) C. Beautiful Regional Contest

    链接: https://codeforces.com/contest/1265/problem/C 题意: So the Beautiful Regional Contest (BeRC) has c ...

  2. Codeforces Round #604 (Div. 2) C. Beautiful Regional Contest(贪心)

    题目链接:https://codeforces.com/contest/1265/problem/C 题意 从大到小给出 $n$ 只队伍的过题数,要颁发 $g$ 枚金牌,$s$ 枚银牌,$b$ 枚铜牌 ...

  3. 2015 UESTC Winter Training #8【The 2011 Rocky Mountain Regional Contest】

    2015 UESTC Winter Training #8 The 2011 Rocky Mountain Regional Contest Regionals 2011 >> North ...

  4. zoj 3659 Conquer a New Region The 2012 ACM-ICPC Asia Changchun Regional Contest

    Conquer a New Region Time Limit: 5 Seconds      Memory Limit: 32768 KB The wheel of the history roll ...

  5. 2018 ACM-ICPC Asia Beijing Regional Contest (部分题解)

    摘要 本文主要给出了2018 ACM-ICPC Asia Beijing Regional Contest的部分题解,意即熟悉区域赛题型,保持比赛感觉. Jin Yong’s Wukong Ranki ...

  6. 2014-2015 ACM-ICPC, Asia Xian Regional Contest(部分题解)

    摘要 本文主要给出了2014-2015 ACM-ICPC, Asia Xian Regional Contest的部分题解,说明了每题的题意.解题思路和代码实现,意即熟悉区域赛比赛题型. Built ...

  7. The 2018 ACM-ICPC Asia Qingdao Regional Contest(部分题解)

    摘要: 本文是The 2018 ACM-ICPC Asia Qingdao Regional Contest(青岛现场赛)的部分解题报告,给出了出题率较高的几道题的题解,希望熟悉区域赛的题型,进而对其 ...

  8. The 2018 ACM-ICPC Asia Qingdao Regional Contest

    The 2018 ACM-ICPC Asia Qingdao Regional Contest 青岛总体来说只会3题 C #include<bits/stdc++.h> using nam ...

  9. 2017-2018 ACM-ICPC, Asia Tsukuba Regional Contest

    2017-2018 ACM-ICPC, Asia Tsukuba Regional Contest A Secret of Chocolate Poles 思路:暴力枚举黑巧克力的个数和厚黑巧克力的个 ...

随机推荐

  1. web----HTML(WEB概述)

    ## web概述: *JavaWeb: 什么是web,即JavaWeb(使用Java语言开发基于互联网的项目). *软件架构: 1.C/S:Client/Server 客户端/服务器端 *在用户本地有 ...

  2. 单调栈-Maximum Width Ramp

    2020-01-23 19:39:26 问题描述: 问题求解: public int maxWidthRamp(int[] A) { Stack<Integer> stack = new ...

  3. python之序列化、OS、SYS、hashlib模块

    一.序列化模块 1.序列化模块的用途 将一种数据结构转换成特殊的序列(特殊字符串,bytes),并且还可以转换回去 凡是数据通过网络传出去最终的格式必须bytes 2.json模块 json 是一种轻 ...

  4. TensorFlow v2.0的基本张量操作

    使用TensorFlow v2.0的基本张量操作 from __future__ import print_function import tensorflow as tf # 定义张量常量 a = ...

  5. php 设置允许跨域请求

    php 服务端代码 <?php header('Content-Type: text/html;charset=utf-8'); header('Access-Control-Allow-Ori ...

  6. 技术大佬:我去,你竟然还在用 try–catch-finally

    二哥,你之前那篇 我去 switch的文章也特么太有趣了,读完后意犹未尽啊,要不要再写一篇啊?虽然用的是 Java 13 的语法,对旧版本不太友好.但谁能保证 Java 不会再来一次重大更新呢,就像 ...

  7. Java并发编程锁系列之ReentrantLock对象总结

    Java并发编程锁系列之ReentrantLock对象总结 在Java并发编程中,根据不同维度来区分锁的话,锁可以分为十五种.ReentranckLock就是其中的多个分类. 本文主要内容:重入锁理解 ...

  8. Python终端打印彩色文字

    终端彩色文字 class Color_f: black = 30 red = 31 green = 32 yellow= 33 blue = 34 fuchsia=35 cyan = 36 white ...

  9. 【tensorflow2.0】自动微分机制

    神经网络通常依赖反向传播求梯度来更新网络参数,求梯度过程通常是一件非常复杂而容易出错的事情. 而深度学习框架可以帮助我们自动地完成这种求梯度运算. Tensorflow一般使用梯度磁带tf.Gradi ...

  10. Gang Of Four的23中设计模式

    Gang Of Four的23中设计模式 标签(空格分隔): 设计模式 1. 根据目的来进行划分 根据目的进行划分可以分为创建型模式, 结构型模式和行为模式三种. 1.1 创建型模式 怎样创建对象, ...