24 条题解

  • 41
    @ 2022-8-14 11:16:39

    这一题呢,不用多说了,思路先看看:

    1. 用数组 a 存储101(100 + 1)个元素,每依次输入的就存储在 a 里
    2. 用 s 存储总药量,用 n 存储病人数量
    3. 在每一次输入时,先判断总药量是否可以个病人提供药品,如果不能,就将 sum(无法取到药的倒霉蛋)增加 1,否则就将总药量减去输入的值
    4. 最后输出 sum 的倒霉蛋数量即可啦~

    好了,全网最短AC代码来喽!

    #include <bits/stdc++.h>
    using namespace std;
    int main()
    {
        int s, n, a[101], sum = 0;
        cin >> s >> n;
        for (int i=1;i<=n;i++)
        {
            cin >> a[i];
            if (s < a[i]) sum += 1;
            else s -= a[i];
        }
        cout << sum;
    	return 0;
    }
    
    • @ 2022-8-21 20:37:11

      YYDS,YYSD,YYDS,YYDS,YYDS,YYDS,YYDS

    • @ 2023-1-8 16:15:03

      你是我滴神

    • @ 2023-8-12 18:05:35

      @感谢哇!!

    • @ 2023-8-13 18:30:37

      @ Ctrl+c

    • @ 2023-8-21 15:59:11

      👍👍 👍 👍 👍👍

    • @ 2023-8-23 11:53:18

      @ 永远的神!!!

    • @ 2023-12-4 20:44:33
      #include<bits/stdc++.h>
      using namespace std;
      int n,m,a[9999];
      int main(){
      	cin>>n>>m;
      	for(int i=1;i<=m;i++){
      		cin>>a[i];
      	}
      	int q=0;
      	for(int i=1;i<=m;i++){
      		if(n>=a[i]){
      			n-=a[i];
      		}
      		else{
      			q++;
      		}
      	}
      	cout<<q;
      	return 0;
      } 
      
    • @ 2024-1-1 14:36:47

      @ yyds = 杨洋单身

  • 6
    @ 2023-8-4 19:00:38

    新手易懂代码来喽🚀️ 来看看题解吧

    #include <bits/stdc++.h>
    using namespace std;
    int s;
    int main()
    {
        int m , n , a[100];
        cin >> m >> n;
        for (int i = 0;i < n;i++)
        {
            cin >> a[i];
            if (a[i] > m || m <= 0)//如果取药数量大于剩余数量或者药品没库存啦,医生就会拒绝,就取不到药啦
            {
                s++;//取不到药的人数++
                continue;//不取药药品数量就不需要减少,结束本次循环
            }
            m -= a[i];//能取到药的就要减去他取药的数量
        }
        cout << s;//最后输出poor人的数量就OK啦
        return 0;
    }
    

    注:“||”是逻辑运算符or

    • 4
      @ 2022-12-22 17:02:51
      #include <iostream>
      using namespace std;
      int main()
      {
          int i = 0, m, n, x, s = 0;
          cin >> m >> n; //输入总药量m,取药人数n
          while (n--) //循环n次
          {
              cin >> x; //每个人取药数x
              s += x; //取药数求和
              if (s > m) //当前取药数大于总药量,无法取药i加1
              {
                  i++;
                  s -= x; //取药和恢复
              }
          }
          cout << i; //输出没有取上药的人数
          return 0;
      }
      

      🚀️ 第一次写题解请见谅😄 🚀️

      • 4
        @ 2022-9-11 10:49:30

        这一题呢,不用多说了,思路先看看:

        1. 用 x 存储元素,每依次输入的就存储在 x 里
        2. 用 s 存储总药量,用 n 存储病人数量
        3. 在每一次输入时,先判断总药量是否可以个病人提供药品,如果不能,就将 sum(无法取到药的倒霉蛋)增加 1,否则就将总药量减去输入的值
        4. 最后输出 sum 的倒霉蛋数量即可啦~

        好了,全网最短AC代码来喽!

        #include <iostream>
        using namespace std;
        int s, n, x, sum;
        int main()
        {
            cin >> s >> n;
            for (int i = 1; i <= n; i++)
            {
                cin >> x;
                if (s < x)
                {
                    sum += 1;
                }
                else
                {
                    s -= x;
                }
            }
            cout << sum;
        	return 0;
        }
        
      • 2
        @ 2022-2-9 18:52:22

        日常输入m和n

        然后根据题目意思,n个人每次取药k

        如果剩下的药够,那么取走药,更新一下剩余药的数量

        如果剩余药不够,拒绝取药,剩余药数量不变,将没取药的人数+1

        for(int i=1;i<=n;i++)
        {
        	cin >> k;
        	if(m>=k)
        		m-=k;
        	else
        		num++;
        }
        

        输出num

        • 1
          @ 2024-3-31 19:23:00
          #include<bits/stdc++.h>
          using namespace std;
          int main()
          {
              int m,n,x,num=0;
              cin>>m>>n;
              for(int i=1;i<=n;i++){
                  cin>>x;
                  if(m>=x){
                      m-=x;
                  }
                  else{
                      num++;
                  }
              }
              cout<<num;
              return 0;
          }
          
          • 1
            @ 2023-10-28 21:25:10

            这个也很简单的

            #include <iostream>
            using namespace std;
            int main()
            {
                int m,n,sb,sum=0;
                cin>>m;
                cin>>n;
                for(int i=1;i<=n;i++){
                cin>>sb;
                if(m>=sb){
                m=m-sb;
                }else
                sum=sum+1;
            }
             cout<<sum;
             return 0;
            }
            
            • 1
              @ 2023-8-23 0:00:12
              #include <iostream>
              using namespace std;
              int main()
              {
                  int m, n, x, num = 0;
                  cin >> m;
                  cin >> n;
                  for (int i = 1;i <= n;i++)
                  {
                      cin >> x;
                      if (x <= m)
                      {
                          m -= x;
                          continue;
                      }
                      num++;
                  }
                  cout << num;
                  return 0;
              }
              

              这段代码不戳

              • 1
                @ 2023-8-3 20:37:54
                #include <bits/stdc++.h>
                using namespace std;
                int main()
                {
                    int s, n, a[101], sum = 0;
                    cin >> s >> n;
                    for (int i=1;i<=n;i++)
                    {
                        cin >> a[i];
                        if (s < a[i]) sum += 1;
                        else s -= a[i];
                    }
                    cout << sum;
                	return 0;
                }
                
                • 1
                  @ 2023-7-22 13:17:23
                  #include <cstdio>
                  using namespace std;
                  int main(){
                      int m,n,t,x=0;
                      scanf("%d%d",&m,&n);
                      for(int i=1;i<=n;i++){
                          scanf("%d",&t);
                          m<t?x++:m-=t;
                      }
                      printf("%d\n",x);
                      return 0;
                  }
                  
                  • 1
                    @ 2023-4-8 14:23:39

                    @北京大学 (hetao10332039) 帮你格式化了一下:

                    #include <iostream>
                    using namespace std;
                    int s, n, x, sum;
                    int main()
                    {
                        cin >> s >> n;
                        for (int i = 1; i <= n; i++)
                        {
                            cin >> x;
                            if (s < x)
                            {
                                sum += 1;
                            }
                            else
                            {
                                s -= x;
                            }
                        }
                        cout << sum;
                    	return 0;
                    }
                    
                    • 1
                      @ 2023-1-26 17:19:57
                      #include<bits/stdc++.h>
                      using namespace std;
                      int m,n,i,x,r=0,p=0;
                      int main(){
                          cin>>m>>n;
                          for(i=1;i<=n;i++){
                              cin>>x;
                              m-=r;
                              if(m<x){
                                  p++;
                                  r=0;
                              }else{
                                  r=x;
                              }
                          }
                          cout<<p;
                          return 0;
                      }
                      
                      • 1
                        @ 2023-1-3 22:39:49

                        以前hetao14770816的帐号做不出来的问题,现在一下子就做出来了。

                        #include <bits/stdc++.h>
                        using namespace std;
                        int x,n,a,ans;
                        int main()
                        {
                            cin>>x>>n;
                            for(int i=1;i<=n;i++)
                            {
                                cin>>a;
                                if(x<a)
                                {
                                    ans+=1;
                                }
                                else
                                {
                                    x-=a;
                                }
                            }
                            cout<<ans;
                        	return 0;
                        }
                        
                      • 0
                        @ 2024-5-27 18:59:51

                        这题很简单

                        • 0
                          @ 2024-3-14 11:19:05

                          题解怎么写啊???

                          本人菜菜,大佬带带!!!

                          #include <iostream>
                          using namespace std;
                          int main() {
                              int m, n, x, s=0, r=0;
                              cin>>m>>n;
                              for(int i=1; i<=n; i++) {
                                  cin>>x;
                                  s+=x;
                                  if(s>m) {
                                      r++;
                                      s-=x;
                                  }
                              }
                              cout<<r;
                              return 0;
                          }
                          

                          👀️ ...

                          • @ 2024-3-14 11:27:54

                            为什么我的代码没有高亮啊(๑°⌒°๑)!!!

                        • 0
                          @ 2024-2-23 20:08:51
                          #include <bits/stdc++.h>
                          using namespace std;
                          int main()
                          {
                              int n,r,num=0,m;
                              cin>>m>>r;
                              int a[100];
                              for(int i=0;i<r;i++)
                              {
                                  cin>>a[i];
                              }
                              for(int i=0;i<r;i++)
                              {
                                  if(a[i]>m)
                                  {
                                      num++;
                                      continue;
                                  }
                                  m-=a[i];
                              }
                              cout<<num;
                              return 0;
                          }
                          
                          • 0
                            @ 2023-11-23 19:47:23
                            #include <bits/stdc++.h>
                            using namespace std;
                            int main()
                            {
                                int s, n, a[101], sum = 0;
                                cin >> s >> n;
                                for (int i=1;i<=n;i++)
                                {
                                    cin >> a[i];
                                    if (s < a[i]) sum += 1;
                                    else s -= a[i];
                                }
                                cout << sum;
                            	return 0;
                            }
                            

                            Copy

                            • 0
                              @ 2023-8-23 15:25:00

                              使用洛谷的人会发现,核桃编程喜欢搬一些题。 洛谷主站:洛谷 本题链接:B2067 药房管理

                              • 0
                                @ 2022-10-10 21:35:09

                                自 记 看

                                int m,k,n,x; cin>>m>>n; for(int i=1;i<=n;i++) { cin >> k; if(m>=k) m-=k; else x++; } cout<<x;

                                • 0
                                  @ 2022-8-6 19:17:09

                                  用数组整整齐齐~

                                  for (int i = 1; i <= n; i++)
                                  	{
                                  		// 如果够取药,则从总量当中取药 
                                  		if (a[i] <= m)
                                  		{
                                  			m -= a[i];
                                  		}
                                  		// 不够取则统计人数 
                                  		else
                                  		{
                                  			num++;
                                  		}
                                  	}
                                  

                                  信息

                                  ID
                                  1289
                                  时间
                                  1000ms
                                  内存
                                  256MiB
                                  难度
                                  3
                                  标签
                                  递交数
                                  2653
                                  已通过
                                  1394
                                  上传者