A  链接:http://codeforces.com/problemset/problem/892/A

签到

 #include <iostream>
#include <algorithm>
using namespace std;
long long a,b[];
int main() {
int n;
long long sum1=,sum2=;
cin>>n;
for(int i=; i<n; ++i) cin>>a,sum1+=a;
for(int i=; i<n; ++i) cin>>b[i];
sort(b,b+n);
sum2=b[n-]+b[n-];
if(sum2>=sum1) cout<<"YES"<<endl;
else cout<<"NO"<<endl;
return ;
}

B 链接:http://codeforces.com/problemset/problem/892/B

O(n)倒退遍历,保存当前能到的最大长度

 #include <bits/stdc++.h>
using namespace std;
int a[];
int main() {
ios::sync_with_stdio(false);
int n;
cin>>n;
for(int i=; i<=n; ++i) cin>>a[i];
int len=-;
for(int i=n; i>=; --i) {
int temp=a[i];
if(len>=) a[i]=-;
len=max(len,temp);
len--;
}
int sum=;
for(int i=; i<=n; ++i) {
if(a[i]!=-) sum++;
}
cout<<sum<<endl;
return ;
}

C 链接:http://codeforces.com/problemset/problem/891/A

检测第一次出现1的时候经历了几次操作的最小值,只要出现一次1,那么再加上n-1次操作就可以全部翻转为1

利用gcd(ai)是否等于1可以剪枝,return -1

特别地,要注意全部为1的特殊情况 return 0

代码:

 #include <iostream>
using namespace std;
int a[];
int GCD(int a, int b) {
if(!b) return a;
return GCD(b,a%b);
}
int main() {
ios::sync_with_stdio(false);
cin.tie();
cout.tie();
int n,gcd,exist_one=;
cin>>n;
cin>>a[];
gcd=a[];
if(a[]==) exist_one++;
for(int i=; i<=n; ++i) {
cin>>a[i];
if(a[i]==) exist_one++;
if(gcd<=a[i]) gcd=GCD(a[i],gcd);
else gcd=GCD(gcd,a[i]);
}
if(gcd!=) {
cout<<"-1"<<endl;
return ;
}
if(exist_one) {
cout<<n-exist_one<<endl;
return ;
}
int minnum=;
for(int i=; i<n; ++i) {
gcd=a[i];
for(int j=i+; j<=n; ++j) {
if(a[j]>gcd) gcd=GCD(a[j],gcd);
else gcd=GCD(gcd,a[j]);
if(gcd==) {
minnum=min(j-i,minnum);
break;
}
}
}
cout<<minnum+n-<<endl;
return ;
}

D 链接:http://codeforces.com/problemset/problem/891/B

让每一个数都能够找到小于自己的最大值,同时假如这个数是最小值,则用最大值来替换它

∵任何两个数(最大、最小除外)的差值都小于最小值与最大值的差值

首先排序,找到对应的值,输出打印

代码:

 #include <bits/stdc++.h>
using namespace std;
int a[],b[];
int main() {
ios::sync_with_stdio(false);
int n,minnum=1e9;
cin>>n;
for(int i=; i<n; ++i) {
cin>>a[i];
b[i]=a[i];
minnum=min(minnum,a[i]);
}
sort(a,a+n);
int flag=;
for(int i=; i<=n-; ++i) {
flag=;
if(b[i]==minnum) {
flag=;
b[i]=a[n-];
continue;
}
for(int j=n-; j>=; --j) {
if(a[j]<b[i]) {
flag=;
b[i]=a[j];
break;
}
}
if(!flag) {
cout<<"-1"<<endl;
return ;
}
}
for(int i=; i<n-; ++i) cout<<b[i]<<" ";
cout<<b[n-]<<endl;
return ;
}

codeforces #446 892A Greed 892B Wrath 892C Pride 891B Gluttony的更多相关文章

  1. Seven Deadly Sins: Gluttony, Greed, Sloth, Wrath, Pride, Lust, and Envy.

    Seven Deadly Sins: Gluttony, Greed, Sloth, Wrath, Pride, Lust, and Envy.七宗罪:暴食.贪婪.懒惰.暴怒.傲慢.色欲.妒忌.

  2. Codeforces 891B - Gluttony

    891B - Gluttony 题意 给出一个数字集合 \(a\),要求构造一个数组 \(b\) 为 \(a\) 的某个排列,且满足对于所有下标集合的子集 \(S=\{x_1,x_2,...,x_k\ ...

  3. [CodeForces 892A] Greed (Java中sort实现从大到小排序)

    题目链接:http://codeforces.com/problemset/problem/892/A 具体的Java 中 sort实现降序排序:https://www.cnblogs.com/you ...

  4. Codeforces Round #446 (Div. 2) B. Wrath【模拟/贪心】

    B. Wrath time limit per test 2 seconds memory limit per test 256 megabytes input standard input outp ...

  5. Codeforces 892 A.Greed

    A. Greed time limit per test 2 seconds memory limit per test 256 megabytes input standard input outp ...

  6. 892A. Greed#贪婪(优先队列priority_queue)

    题目出处:http://codeforces.com/problemset/problem/892/A 题目大意:有一些可乐(不一定装满),问能不能把所有可乐装进两个可乐瓶中 #include< ...

  7. 892B. Wrath#愤怒的连环杀人事件(cin/cout的加速)

    题目出处:http://codeforces.com/problemset/problem/892/B 题目大意:一队人同时举刀捅死前面一些人后还活着几个 #include<iostream&g ...

  8. War of the Corporations CodeForces - 625B (greed)

    A long time ago, in a galaxy far far away two giant IT-corporations Pineapple and Gogol continue the ...

  9. Codeforces Round #446 (Div. 2) C. Pride【】

    C. Pride time limit per test 2 seconds memory limit per test 256 megabytes input standard input outp ...

随机推荐

  1. Java基础笔记1

    java (开源,跨操作系统)j2ee jre java基础 javaoop java高级 JDK(JAVA developer Kitool): java开发工具 (开发人员使用) JRE(java ...

  2. Java 设计模式原则

    1.    找出应用中可能需要变化之处,把他们独立出来,不要和那些不需要变化的代码混在一起. 换句话说,如果每次新的需求一来,都会使某方面的代码发生变化,那么你就可以确定,这部分的代码需要抽出来,和其 ...

  3. D - MUH and Cube Walls

    D. MUH and Cube Walls   Polar bears Menshykov and Uslada from the zoo of St. Petersburg and elephant ...

  4. 出现Unreachable code问题的原因

    在Java中出现Unreachable code这种错误,一般是出现在循环当中,当循环结束时,循环体内却还有代码不能执行,换句话说就是这句话在循环题中执行不到.比如 while(true) { int ...

  5. 初入servlet:Allocate exception for servlet

    老板,来一碗错误垫垫肚子! 如果以下几个错误都符合,估计就是这个原因了. 页面报错如下: java.lang.NoClassDefFoundError:IllegalName: firstDemo/T ...

  6. js和jquery实现监听键盘事件

    一.使用javascript实现 <!DOCTYPE html> <html> <head> <meta charset="utf-8"& ...

  7. display:none和visibility:hidden区别

    <!-- display:none和visible:hidden都能把网页上某个元素隐藏起来,但两者有区别: --> <!-- display:none 不为被隐藏的对象保留其物理空 ...

  8. appendChild方法详解

    方法:target.appendChild(ele); 执行该方法时,会发生两部操作: 1.将元素ele从原来的父元素中移除掉 2.将元素追加至新的目标元素中,并且保留元素的所有样式信息和事件... ...

  9. Python 面向对象基础知识

    面向对象基础知识 1.什么是面向对象编程? - 以前使用函数 - 类 + 对象 2.什么是类什么是对象,又有什么关系? class 类: def 函数1(): pass def 函数2(): pass ...

  10. SpringAop源码情操陶冶-JdkDynamicAopProxy

    承接前文SpringAop源码情操陶冶-AspectJAwareAdvisorAutoProxyCreator,本文在前文的基础上稍微简单的分析默认情况下的AOP代理,即JDK静态代理 JdkDyna ...