codeforces799E Aquarium decoration
来源:互联网 发布:手机动漫模型软件 编辑:程序博客网 时间:2024/06/05 09:48
题目大意:
给定
枚举选几个两个人都喜欢的数,然后贪心求答案就可以了。
代码:
#include<iostream>#include<cstdio>#include<cstring>#include<algorithm>using namespace std;#define N 200010#define ll long long#define INF 2000000000ll Ans=1e18,Res;int i,j,k,n,Sum,m,x,y,l[4],a[N],b[4][N],p[4],M,f[N];inline int Min(int x,int y){return x<y?x:y;}inline ll Min(ll x,ll y){return x<y?x:y;}int main(){ scanf("%d%d%d",&n,&m,&k); for(i=1;i<=n;i++)scanf("%d",&a[i]); scanf("%d",&x); while(x--)scanf("%d",&y),f[y]=1; scanf("%d",&x); while(x--){ scanf("%d",&y); if(f[y])f[y]=3;else f[y]=2; } for(i=1;i<=n;i++) if(f[i]==3)b[0][++l[0]]=a[i];else if(f[i]==1)b[1][++l[1]]=a[i];else if(f[i]==2)b[2][++l[2]]=a[i];else b[3][++l[3]]=a[i],f[i]=l[3]; sort(b[0]+1,b[0]+l[0]+1);sort(b[1]+1,b[1]+l[1]+1); sort(b[2]+1,b[2]+l[2]+1);sort(b[3]+1,b[3]+l[3]+1); for(i=0;i<4;i++)b[i][l[i]+1]=INF,p[i]=1; for(i=0;i<=l[0]&&i<=m;i++){ if(k-i>l[1]||k-i>l[2])continue; while(p[0]<=i){ Res+=b[0][p[0]++]; Sum++; } if(k-i+2==p[1]){ Res-=b[1][--p[1]]; Sum--; } while(k-i>=p[1]){ Res+=b[1][p[1]++]; Sum++; } if(k-i+2==p[2]){ Res-=b[2][--p[2]]; Sum--; } while(k-i>=p[2]){ Res+=b[2][p[2]++]; Sum++; } while(Sum<m){ M=INF; for(j=0;j<4;j++)if(p[j]<=l[j])M=Min(M,b[j][p[j]]); if(M==INF)break; for(j=0;j<4;j++) if(b[j][p[j]]==M){ Res+=b[j][p[j]++]; break; } Sum++; } if(Sum==m)Ans=Min(Ans,Res); } if(Ans==1e18)puts("-1");else printf("%I64d\n",Ans); return 0;}
阅读全文
1 0
- codeforces799E Aquarium decoration
- [杂题] Codeforces 799E Round #413 E. Aquarium decoration
- decoration
- [decoration]
- Donut Decoration
- Florida Aquarium Selects Pacific Timesheet
- tel for decoration
- css text-decoration下划线
- text-decoration 入门Demo
- 初探box-decoration-break
- SereneScreen Marine Aquarium + Time Crystal 2.6
- National Day travel experience to Beijing Aquarium
- UVALive - 7303 Aquarium(最小生成树)
- UVALive 7303Aquarium 最小生成树
- div css 下划线text-decoration
- 关于text-decoration去掉下划线
- CSS中text-decoration属性
- CSS:text-decoration参数说明
- 计蒜客第五场过后……
- sublime markdown 配色
- js基础篇(二)
- Spring 声明式事务中使用注解@Transactional的方式、原理及注意事项
- 第一次python笔记
- codeforces799E Aquarium decoration
- 标准通用标记语言(SGML)
- JavaScript闭包
- LabVIEW生成任意波形
- 如何将 ASP.Net Web API 在 IIS 服务器上托管
- 如何安装Linux系统
- long和int
- win32学习05.父子窗口和缓冲区
- map使用方法 (STL)