codeforces C. Booking System
2015-02-06 10:55
399 查看
题意:有n组客人,分别告诉每一组的个数和花费,然后给你餐厅内k个桌子,每个桌子的最大容纳人数,如何安排使得餐厅最大收益并且容纳人数尽可能大;
思路:贪心,对花费排序,然后对每一组客人找桌子就可以。
View Code
思路:贪心,对花费排序,然后对每一组客人找桌子就可以。
#include <cstdio> #include <cstring> #include <algorithm> #define maxn 2000 using namespace std; struct node { int c,p,id; bool operator <(const node &a)const { return (p>a.p)||(p==a.p&&c>a.c); } }q[maxn]; struct node1 { int x,id; bool operator <(const node1 &a)const { return x<a.x; } }p[maxn],pp[maxn]; bool vis[maxn]; int num[maxn]; int main() { int n,k; scanf("%d",&n); for(int i=0; i<n; i++) { scanf("%d%d",&q[i].c,&q[i].p); q[i].id=i+1; } sort(q,q+n); scanf("%d",&k); for(int i=1; i<=k; i++) { scanf("%d",&p[i].x); p[i].id=i; } sort(p+1,p+k+1); memset(vis,false,sizeof(vis)); int ans=0,cnt=0; for(int i=0; i<n; i++) { for(int j=1; j<=k; j++) { if(p[j].x>=q[i].c&&!vis[p[j].id]) { pp[cnt].x=q[i].id; pp[cnt++].id=p[j].id; ans+=q[i].p; vis[p[j].id]=true; break; } } } printf("%d %d\n",cnt,ans); for(int i=0; i<cnt; i++) { printf("%d %d\n",pp[i].x,pp[i].id); } return 0; }
View Code
相关文章推荐
- BerOS file system CodeForces - 20A
- Codeforces Round #313 (Div. 2) A. Currency System in Geraldion
- System of Equations CodeForces - 214A
- Codeforces Round #298 (Div. 2) E. Berland Local Positioning System 构造
- Codeforces C. Registration system
- Educational Codeforces Round 21 C. Tea Party
- Codeforces Round #302 (Div. 2) A. Set of Strings
- Codeforces Round #430 (Div. 2) B. Gleb And Pizza(数论)
- Codeforces Beta Round #44 (Div. 2)——B
- 【宽搜】ECNA 2015 E Squawk Virus (Codeforces GYM 100825)
- Codeforces Round #392 (Div. 2) F. Geometrical Progression
- codeforces Winner
- Codeforces Gym 100463B Music Mess Hash 逻辑题
- Codeforces Round #312 (Div. 2) B. Amr and The Large Array
- Codeforces Round #430 (Div. 2) Ilya And The Tree 树上因子 思维 + dfs
- 【Codeforces Round 269 (Div 2)B】【简单构造】MUH and Sticks 数值升序输出三种可能编号序
- Codeforces Round #430 (Div. 2) 842C Ilya And The Tree(暴力)
- 【Codeforces Round 273 (Div 2)B】【贪心】 Random Teams n人分m组,可形成的最小朋友数和最大朋友数
- CodeForces #362 div2 B. Barnicle
- Pearls in a Row CodeForces - 620C