题目链接:http://agc016.contest.atcoder.jp/tasks/agc016_b

题解:挺有意思的题目主要还是模拟出最多有几种不可能的情况,要知道ai的差距不能超过1这个想想就知道,然后再好好想一下,想想可能会有点麻烦

聪明的人应该一下就想出来了,反正我想了挺久。

#include <iostream>
#include <cstring>
using namespace std;
const int M = 1e5 + 10;
int a[M];
int main() {
int n;
cin >> n;
for(int i = 1 ; i <= n ; i++) cin >> a[i];
int l = a[1] , r = a[1];
for(int i = 2 ; i <= n ; i++) {
l = min(a[i] , l);
r = max(a[i] , r);
}
if(r - l > 1) cout << "No" << endl;
else {
if(l == r) {
int gg = n - l;
if(gg == 1) cout << "Yes" << endl;
else {
if(n == 1 || gg >= l) cout << "Yes" << endl;
else cout << "No" << endl;
}
}
else {
int cnt1 = 0 , cnt2 = 0;
for(int i = 1 ; i <= n ; i++) {
if(a[i] == l) cnt1++;
if(a[i] == r) cnt2++;
}
if(cnt1 >= r) cout << "No" << endl;
else {
int gg = n - r;
if(gg >= r - cnt1) cout << "Yes" << endl;
else cout << "No" << endl;
}
}
}
return 0;
}

最新文章

  1. C连接oracle(PROC*C)
  2. Jersey(1.19.1) - Conditional GETs and Returning 304 (Not Modified) Responses
  3. Android开发之点击两次Back键退出App
  4. 思考之spring的ioc
  5. SharePoint REST api
  6. 使用idea建立gradle+SSM项目
  7. cordova.js的坑
  8. 关于Uncaught SyntaxError: Unexpected token o in JSON at position 1,chrome持续报错的相关解析
  9. 【软件工程】5.8 黑盒&amp;白盒测试
  10. unicode 和 utf-8字符编码的区别
  11. 转载:Linux操作系统(1.3.1)《深入理解Nginx》(陶辉)
  12. redis内部数据结构深入浅出
  13. csv,json格式数据的读写
  14. Smart/400开发上手4: 调试Cobol代码 (DEBUG with QBATCH)
  15. [转]Reporting Service部署之访问权限
  16. HDU 2767 Proving Equivalences(至少增加多少条边使得有向图变成强连通图)
  17. 关于go1.6使用vendor的坑
  18. 下拉刷新XListView的简单分析
  19. 利用X.509证书对XML进行加密和签名
  20. 递归与分治策略之循环赛日程表Java实现

热门文章

  1. 【iOS】Apple Mach-O Linker Error Linker command failed with exit code 1
  2. Code blocks返回错误代码:Process returned -1073741819 (0xC0000005)
  3. Extjs的textfield的颜色设置和出现的问题笔记
  4. WPF 打开网页
  5. excel 导入 下载模板 demo
  6. 教老婆学Linux运维(一)初识Linux
  7. Android使用com.google.android.cameraview.CameraView进行拍照
  8. [转载]windows下mongodb安装与使用整理
  9. javacv——读取摄像头的图像、截取视频的画面
  10. Ubuntu 16.04 安装 SVN-Client (RaabitVCS)