13 해설

  • 0
    @ 2023-10-19 15:39:49
    #include<iostream>
    using namespace std;
    int main()
    {
        int s,w,n;
        cin >> s;
        while(s--)
        {
            cin >> w >> n;
            int a[300+5]={0};
            for(int i=0 ; i<n ; i++)
            {
                cin >> a[i];
            }
            int temp;
            for(int i=0 ; i<n-1 ; i++)
            {
                for(int j=0 ; j<n-i-1 ; j++)
                {
                    if(a[j]>a[j+1])
                    {
                        temp=a[j];
                        a[j]=a[j+1];
                        a[j+1]=temp;
                    }
                }
            }
            int cnt=0;
            for(int i=0,j=n-1 ; i<=j;)
            {
               if(a[i]+a[j]<=w)
               {
                cnt++;
                i++;
               }
               else
               {
                cnt++;
               }
               j-- ;
            }
            cout << cnt <<endl;
        }
        return 0;
    }
    

    정보

    ID
    148
    시간
    3000ms
    메모리
    128MiB
    난이도
    6
    태그
    (N/A)
    제출 기록
    668
    맞았습니다.
    220
    아이디