第九届北京化工大学程序设计竞赛(部分题解)
来源:互联网 发布:财达交易软件 编辑:程序博客网 时间:2024/04/28 02:47
A Math game
Problem Description
Input
In each case, there are two numbers in the first line n (the size of the set) and H. The second line has n numbers {a[1],a[2],......,a[n]}.0<n<=40, 0<=H<10^9, 0<=a[i]<10^9,All the numbers are integers.
Output
Sample Input
10 872 3 4 5 7 9 10 11 12 1310 382 3 4 5 7 9 10 11 12 13
Sample Output
NoYes
Source
Manager
J http://acdream.info/problem?pid=1735#include<iostream>
#include<cstring>
#include<algorithm>
#include<cstdlib>
#include<vector>
#include<cmath>
#include<stdlib.h>
#include<iomanip>
#include<list>
#include<deque>
#include<map>
#include <stdio.h>
#include <queue>
#include <stack>
#define maxn 10000+5
#define ull unsigned long long
#define ll long long
#define reP(i,n) for(i=1;i<=n;i++)
#define rep(i,n) for(i=0;i<n;i++)
#define cle(a) memset(a,0,sizeof(a))
#define mod 90001
#define PI 3.141592657
#define INF 1<<30
const ull inf = 1LL << 61;
const double eps=1e-5;
using namespace std;
bool cmp(ll a,ll b)
{
return a>b;
}
ll sum;
ll a[50];
int mark;
int n,m;
ll t;
void dfs(int cur,ll sum){
if(sum==m){mark=1;printf("Yes\n");return;}
for(int i=cur;i<=n;i++){
if(mark)break;
t=sum+a[i];
if(t<=m)
dfs(i+1,sum+a[i]);
}
}
int main()
{
#ifndef ONLINE_JUDGE
freopen("in.txt","r",stdin);
#endif
//freopen("out.txt","w",stdout);
while(scanf("%d%d",&n,&m)!=EOF){
sum=0;
for(int i=1;i<=n;i++)
scanf("%lld",&a[i]),sum+=a[i];
if(m>sum)printf("No\n");
else if(m==sum||m==0)printf("Yes\n");
else{
sort(a+1,a+n+1,cmp);
mark=0;
dfs(1,0);
if(!mark)printf("No\n");
}
}
return 0;
}
输油管道
Problem Description
平面上有n个油井,现在要建立一条主干线,用来把所有的油井产出的原油都输送出去,主干线是平行于x轴的一条直线,每个油井通过一条支线把原油输送到主干线上,现在给定n个油井在平面上的坐标,那么应该把主干线建在什么地方才能让所有的支干线的总长度最小呢?
Input
Output
Sample Input
20 010 10
Sample Output
10
Source
Manager
#include<iostream>
#include<cstring>
#include<algorithm>
#include<cstdlib>
#include<vector>
#include<cmath>
#include<stdlib.h>
#include<iomanip>
#include<list>
#include<deque>
#include<map>
#include <stdio.h>
#include <queue>
#include <stack>
#define maxn 10000+5
#define ull unsigned long long
#define ll long long
#define reP(i,n) for(i=1;i<=n;i++)
#define rep(i,n) for(i=0;i<n;i++)
#define cle(a) memset(a,0,sizeof(a))
#define mod 90001
#define PI 3.141592657
#define INF 1<<30
const ull inf = 1LL << 61;
const double eps=1e-5;
using namespace std;
bool cmp(int a,int b)
{
return a>b;
}
int x[1000010],y[1000010];
int main()
{
#ifndef ONLINE_JUDGE
freopen("in.txt","r",stdin);
#endif
//freopen("out.txt","w",stdout);
int n;
while(cin>>n){
for(int i=1;i<=n;i++)
scanf("%d%d",&x[i],&y[i]);
sort(y+1,y+1+n);
int mid=y[n/2+1];
ll sum=0;
for(int i=1;i<=n;i++)
sum+=abs(y[i]-mid);
printf("%I64d\n",sum);
}
return 0;
}
- 第九届北京化工大学程序设计竞赛(部分题解)
- 第九届北京化工大学程序设计竞赛网络同步赛
- 第九届北京化工大学程序设计竞赛网络同步赛 A
- 第九届北京化工大学程序设计竞赛训练总结【7/10】
- 第九届北京化工大学程序设计竞赛网络同步赛 A (搜索)
- ACdream-1734 Can you make a water problem?【模拟排序贪心】 第九届北京化工大学程序设计竞赛
- 第九届湖南省大学生程序设计竞赛部分题解
- 北京化工大学 程序设计实训(报告)
- 郑州大学第九届程序设计竞赛热身赛题解
- 河南省第九届大学生程序设计竞赛 题解
- “Wishare杯”南邮第九届大学生程序设计竞赛之网络赛 部分题解
- “Wishare杯”南邮第九届大学生程序设计竞赛之现场赛 部分题解
- 福州大学第十二届程序设计竞赛 (部分题解)
- 福州大学第十届程序设计竞赛 -- 部分题解
- 西南科技大学第九届程序设计竞赛B题解题报告(线段树版)
- 电子科技大学第九届ACM趣味程序设计竞赛第二场(正式赛) 题解
- 福州大学第十一届程序设计竞赛 部分题目题解
- 湖南省第八届大学生计算机程序设计竞赛部分题解
- java发送get/post请求
- 2015ACM浙江省省赛部分题解
- Codeforces Round #302 (Div. 2)
- HashMap内部实现原理
- Codeforces Round #301 (Div. 2)
- 第九届北京化工大学程序设计竞赛(部分题解)
- Trapping Rain Water
- Crontab配置及使用总结
- Balanced Lineup
- sicily 1031. Campus (优先队列优化的dijistra模板)
- (转)图算法单源最短路径Dijkstra算法(邻接表/邻接矩阵+优先队列STL)
- Codeforces Round #303 (Div. 2)
- BestCoder Round #42(3/4)
- Vijos之暴力枚举