2 条题解

  • 0
    @ 2025-3-5 17:30:21
    #include<bits/stdc++.h>
    using namespace std;
    const int N=5e7+5,INF=0x3f3f3f3f;
    typedef long long LL;
    int b[N],ans,m,n; 
    bool flag;
    struct node{
    	int x,y;
    }a[501];
    int cmp(node a,node b){
    	return a.y>b.y;
    }
    int main()
    {
    	cin>>m>>n;
    	for(int i=1;i<=n;i++)cin>>a[i].x;
    	for(int i=1;i<=n;i++)cin>>a[i].y;
    	sort(a+1,a+n+1,cmp);
    	for(int i=1;i<=n;i++){
    		flag = 1;
    		for(int j=a[i].x;j>=1;j--){
    			if(b[j]==0){
    				flag = 0,b[j] = 1;
    				break;
    			}
    		}
    		if(flag){
    			for(int k=n;k>=1;k--){
    				if(b[k]==0){
    					b[k] = 1;
    					break;
    				}
    			}
    			ans+=a[i].y;
    		}
    	}
    	cout<<m-ans;
    	return 0;
    }
    
    • 0
      @ 2023-1-27 11:55:26

      题目对应:

      1. http://ybt.ssoier.cn:8088/problem_show.php?pid=1426
      2. http://ssoi.noip.space/problem.php?id=2705
      3. https://www.luogu.com.cn/problem/P1230
      #include<cstdio>
      #include<iostream>
      #include<cstring>
      #include<algorithm>
      using namespace std;
      int h[5000005];
      struct ben
      {
        int x,y;
      } a[501];
      int cmp(ben a,ben b)
      {
        return (a.y>b.y)?true:false;
      }
      int main()
      {
        int m,n;
        memset(h,0,sizeof(h));
        scanf("%d%d",&m,&n);
        for(int i=1; i<=n; i=i+1)scanf("%d",&a[i].x);
        for(int i=1; i<=n; i=i+1)scanf("%d",&a[i].y);
        sort(a+1,a+n+1,cmp);
        int bj=0;
        int s=0;
        for(int i=1; i<=n; i=i+1)
        {
          bj=1;
          for(int j=a[i].x; j>=1; j=j-1)
          {
            if(h[j]==0)
            {
              bj=0;
              h[j]=1;
              break;
            }
          }
          if(bj==1)
          {
            for(int k=n; k>=1; k=k-1)
            {
              if(h[k]==0)
              {
                h[k]=1;
                break;
              }
            }
            s=s+a[i].y;
          }
        }
        printf("%d",m-s);
        return 0;
      }
      
      • 1

      信息

      ID
      351
      时间
      1000ms
      内存
      512MiB
      难度
      3
      标签
      递交数
      38
      已通过
      23
      上传者