5 solutions

  • 2
    @ 2025-8-4 16:21:43
    #include<bits/stdc++.h>
    using namespace std;
    const int N=10010;
    int a[N],b[N];
    int main()
    {
    	int n,m;
    	cin>>n>>m;
    	for(int i=1;i<=n;i++)
    	{
    		cin>>a[i];
    	}
    	int res=0;
    	for(int i=1;i<=n;i++)
    	{	
    		sort(b+1,b+m+1);
    		b[1]+=a[i];
    	}	sort(b+1,b+m+1);
    	cout<<b[m];
    	return 0;
    }
    
    
    • 1
      @ 2024-6-11 10:45:54

      模拟(O(nm)O(nm))

      • 算法分析,每次来一个接水的同学,我们找到最小的水龙头编号,然后让当前人去接,所有人都接水以后,我们去寻找最后一个流完水的水龙头。
      #include<bits/stdc++.h>
      using namespace std;
      const int M=110;
      int s[M];
      int main()
      {
          int n,m;
          cin>>n>>m;
          for(int i=1;i<=n;i++)
          {
              int x;
              cin>>x;//第i个同学来接水
              int minid;
              for(int j=1;j<=m;j++) //找到最小的水龙头所在的位置
              {
                  if(j==1||s[j]<s[minid])
                  {
                      minid=j;
                  }
              }
            
              s[minid]+=x; //第i个同学到最小的水龙头的位置
          }
          int maxv=0;
          for(int i=1;i<=m;i++) //所有同学都接水以后,找到最大的水龙头的流水时间
          {
              if(i==1||s[i]>maxv)
              {
                  maxv=s[i];
              }
          }
          cout<<maxv;
          return 0;
      }
      

      优化(nlogmnlogm)

      由于涉及到找最小值,我们可以使用堆将每次查找的时间从O(m)O(m) 优化到OlogmOlogm

      #include<bits/stdc++.h>
      using namespace std;
      int main()
      {
          int n,m;
          cin>>n>>m;
          priority_queue<int,vector<int>,greater<int> > q; //小根堆
          for(int i=1;i<=n;i++)
          {
              int x;
              cin>>x;
              if(q.size()<m) //前m个人,直接接水
              {
                  q.push(x);
              }
              else
              {
                  q.push(q.top()+x); //到前这个人到最快接完水的水龙头
                  q.pop(); //删除最小的
              }
          }
          while(q.size()>1) q.pop(); //只保留最大的
          cout<<q.top();
          return 0;
      }
      
      • 0
        @ 2026-8-20 15:36:32
        #include<bits/stdc++.h>
        using namespace std;
        
        int main(){
        	priority_queue<int,vector<int>,greater<int>> q;
        	int n,m;
        	cin>>n>>m;
        	for(int i=1;i<=n;i++){
        		int x;
        		cin>>x;
        		if(q.size()==m){
        			int y=q.top()+x;
        			q.pop();
        			q.push(y);
        		}else q.push(x);
        	}
        		while(q.size()>1){
        			q.pop();
        		}
        	
        	cout<<q.top();
        	return 0;
        }
        
        
        • 0
          @ 2025-7-24 14:20:56
          #include<bits/stdc++.h>
          using namespace std;
          const int N=10010;
          int a[N],b[N];
          int main()
          {
              int n,m;
              cin>>n>>m;
              for(int i=1;i<=n;i++)
              {
                  cin>>a[i];
              }
              for(int i=1;i<=n;i++)
              {
                  int minv=1e8;
                  int minw=0;
                  for(int j=1;j<=m;j++)
                  {
                      if(b[j]<minv)
                      {
                          minv=b[j];
                          minw=j;
                      }
                  }
                  b[minw]+=a[i];
              }
              int maxu=0;
              for(int i=1;i<=m;i++)
              {
                  if(b[i]>maxu)
                  {
                      maxu=b[i];
                  }
              }
              cout<<maxu;
              return 0;
          }
          
          • -3
            @ 2024-9-21 11:07:04
            
            #include<bits/stdc++.h>
            using namespace std;
            int main()
            {
                int m,k;
                cin>>m>>k;
                while(m%19!=0 && m/3!=k)
                {
                    if(m%19==0 && m/3==k) cout<<"YES";
                    else cout<<"NO";
                    m++;
                }    
                return 0;
            }
            
            • 1

            Information

            ID
            430
            Time
            1000ms
            Memory
            128MiB
            Difficulty
            5
            Tags
            # Submissions
            34
            Accepted
            14
            Uploaded By