1 条题解
-
0
C++ :
#include<iostream> #include<cstdio> #include<cstdlib> #include<algorithm> #include<queue> using namespace std; struct pos { int num; int dist; }f[500]; int cmp(pos i,pos j) { return i.num>j.num; } int main() { int n,m,k; cin>>n>>m>>k; int maxk[k+10]; for(int i=1;i<=k;++i) { cin>>maxk[i]; } for(int i=1;i<=n;++i) { cin>>f[i].num>>f[i].dist; } sort(f+1,f+n+1,cmp); int ans=0; int sum=0; for(int i=1;i<=n;++i) { if(maxk[f[i].dist]!=0) { ans=ans+f[i].num; maxk[f[i].dist]--; sum++; } if(sum==m) { break; } } cout<<ans; return 0; }
Pascal :
var a:array [1..200,1..2] of longint; g:array [1..100] of longint; ans:longint; n,i,j,k,m,t:longint; procedure swap(var a,b:longint); var t:longint; begin t:=a; a:=b; b:=t; end; begin {assign(input,'3.in'); assign(output,'3.out'); reset(input); rewrite(output);} readln(n,m,k); for i:=1 to k do read(g[i]); readln; for i:=1 to n do readln(a[i,1],a[i,2]); for i:=1 to n-1 do for j:=n downto i+1 do begin if a[j,1]>a[j-1,1] then begin swap(a[j,1],a[j-1,1]);//...这么小点...就冒泡吧... swap(a[j,2],a[j-1,2]); end; end; t:=0; for i:=1 to n do begin if g[a[i,2]]>0 then begin inc(ans,a[i,1]); dec(g[a[i,2]]); inc(t); if t=m then break; end; end; writeln(ans); {close(input); close(output);} end.
Java :
import java.util.ArrayList; import java.util.Collections; import java.util.Scanner; public class Main { public static void main(String[] args) { // TODO Auto-generated method stub Scanner sc = new Scanner(System.in); int n =sc.nextInt(); int m = sc.nextInt(); int k = sc.nextInt(); int[] flag = new int[k+1]; ArrayList<ttt> al = new ArrayList<>(); for (int i = 1; i <= k; i++) { flag[i]=sc.nextInt(); } for (int i = 0; i < n; i++) { al.add(new ttt(sc.nextInt(),sc.nextInt())); } Collections.sort(al); int j = m; int i = 0; int s = 0; while(j>0&&i<n) { if(flag[al.get(i).b]>0) { j--; flag[al.get(i).b]--; s+=al.get(i).a; } i++; } System.out.println(s); } } class ttt implements Comparable<ttt>{ int a; int b; public ttt(int a, int b) { super(); this.a = a; this.b = b; } @Override public int compareTo(ttt o) { // TODO Auto-generated method stub return o.a-this.a; } }
- 1
信息
- ID
- 712
- 时间
- 1000ms
- 内存
- 128MiB
- 难度
- (无)
- 标签
- 递交数
- 0
- 已通过
- 0
- 上传者