Help me in solving AMMEAT problem

My issue

Getting wrong ans continuously…

here’s my code
#include<bits/stdc++.h>
using namespace std;

int main()
{
int c;
cin>>c;
while(c–)
{
int n,m;
cin>>n>>m;
int *p = new int[n];
for(int i=0; i<n; i++)
cin>>p[i];
sort(p, p+n, greater());
int sum=0;
int count=0;
for(int i=0; i<n; i++)
{

  if(sum<m){
    sum+=p[i];
    count++;
  }
  else
    break;
}
if(sum>=m)
  cout<<count<<endl;
else
  cout<<"-1"<<endl;
delete p;

}

return 0;
}

My code

#include<bits/stdc++.h>
using namespace std;

int main()
{
  int c;
  cin>>c;
  while(c--)
  {
    int n,m;
    cin>>n>>m;
    int *p = new int[n];
    for(int i=0; i<n; i++)
      cin>>p[i];
    sort(p, p+n, greater<int>());
    int sum=0;
    int count=0;
    for(int i=0; i<n; i++)
    {
      
      if(sum<m){
        sum+=p[i];
        count++;
      }
      else
        break;
    }
    if(sum>=m)
      cout<<count<<endl;
    else
      cout<<"-1"<<endl;
    delete p;
  }
  
  return 0;
}

Learning course: Sorting using C++
Problem Link: CodeChef: Practical coding for everyone

@tariq007
use long long int instead of int because constraints is uptil 10^18 which can’t be stored in int data type.

1 Like