UVA1614(贪心)
来源:互联网 发布:免费微相册制作软件 编辑:程序博客网 时间:2024/06/07 18:33
Hell on the Markets
Time Limit:3000MS Memory Limit:Unknown 64bit IO Format:%lld & %llu
[Submit] [Go Back] [Status]
Description
Most financial institutions had become insolvent during financial crisis and went bankrupt or were bought by larger institutions, usually by banks. By the end of financial crisis of all the financial institutions only two banks still continue to operate. Financial markets had remained closed throughout the crisis and now regulators are gradually opening them. To prevent speculation and to gradually ramp up trading they will initially allow trading in only one financial instrument and the volume of trading will be limited to i contracts for i -th minute of market operation. Two banks had decided to cooperate with the government to kick-start the market operation. The boards of directors had agreed on trading volume for each minute of this first trading session. One bank will be buying ai contracts ( 1aii ) during i -th minute ( 1in ), while the other one will be selling. They do not really care whether to buy or to sell, and the outside observer will only see the volumeai of contracts traded per minute. However, they do not want to take any extra risk and want to have no position in the contract by the end of the trading session. Thus, if we definebi = 1 when the first bank is buying andbi = - 1 when the second one is buying (and the first one is selling), then the requirement for the trading session is thataibi = 0 . Your lucky team of three still works in the data center (due to the crisis, banks now share the data center and its personnel) and your task is to find suchbi or to report that this is impossible.
Input
The input file contains several test cases, each of them as described below. The first line of the input contains the single integer numbern ( 1n100 000 ). The second line of the input contains n integer numbers --ai ( 1aii ).Output
For each test case, the first line of the output must contain `` Yes'' if the trading session with specified volumes is possible and ``No'' otherwise. In the former option a second line must contain n numbers -- bi .Sample Input
41 2 3 341 2 3 4
Sample Output
NoYes1 -1 -1 1
Source
Root :: AOAPC II: Beginning Algorithm Contests (Second Edition) (Rujia Liu) :: Chapter 8. Algorithm Design ::Exercises
[Submit] [Go Back] [Status]
排序之后贪心瞎搞。。。
/************************************************************************* > File Name: c.cpp > Author: acvcla > QQ: > Mail: acvcla@gmail.com > Created Time: 2014年10月11日 星期六 08时42分28秒 ************************************************************************/#include<iostream>#include<algorithm>#include<cstdio>#include<vector>#include<cstring>#include<map>#include<queue>#include<stack>#include<string>#include<cstdlib>#include<ctime>#include<set>#include<math.h>using namespace std;typedef long long LL;const int maxn = 1e5 + 10;#define rep(i,a,b) for(int i=(a);i<=(b);i++)#define pb push_backint A[maxn],cnt[maxn],f[maxn];std::vector<int> v;int main(){int n;while(~scanf("%d",&n)&&n){memset(cnt,0,sizeof(cnt));memset(f,0,sizeof f);v.clear();LL sum=0;LL M=0;for(int i=1;i<=n;i++){scanf("%d",A+i);if(A[i]>M)M=A[i];sum+=A[i];cnt[A[i]]++;}if(sum&1){puts("No");continue;}sum/=2;bool ok=false;for(int i=M;!ok&&i>=1;i--){f[i]=min((LL)cnt[i],sum/i);sum-=(LL)f[i]*i;if(sum==0){ok=true;break;}}if(!ok){puts("No");}else{puts("Yes");for(int i=1;i<=n;i++){if(i==1){if(f[A[i]]>0){printf("1");f[A[i]]--;}else printf("-1");}else{if(f[A[i]]>0){printf(" 1");f[A[i]]--;}else printf(" -1");}}puts("");}}return 0;}
0 0
- UVA1614(贪心)
- 奇怪的股市(Hell on the Markets,ACM/ICPC NEERC 2008, UVa1614)
- UVA1614 奇怪的股市
- UVA1614 - Hell on the Markets
- 习题8-10 奇怪的股市 UVa1614
- 贪心(bnuoj49103+二分+贪心)
- 【贪心算法(一)】贪心算法基础
- zoj1002_FireNet(贪心法)
- 贪心题目(SOJ)
- POJ2718(枚举 + 贪心)
- POJ 1328(贪心)
- POJ 1818(贪心)
- POJ 1065(贪心)
- POJ 1477(贪心)
- Monster (贪心)
- 最优装载(贪心)
- 哈夫曼编码(贪心)
- hdu 2570 (贪心)
- OCA Java SE 7 Programmer I考试——ArrayList
- 使用Oracle11g自带的SQL Developer报错:Unable to find a Java Virtual Machine
- Objective-C之run loop详解
- 线性判别分析(Linear Discriminant Analysis, LDA)算法分析
- Weblogic Startup Failed in Eclipse Helio [Stopped, Unable to validate WebLogic Domain]
- UVA1614(贪心)
- POJ2195 Going Home 【最小费用流】+【二分图最佳匹配】
- Android Frameworks层开发之SystemUI分析
- myeclipse 安装svn插件的多种方式
- Ubuntu 14.04中文输入法的安装
- 10月11号 iPhone开发 JSON解析
- Objective-C Runtime
- JPA 注解 mappedBy
- Android ViewHolder模式