Salve, avrei bisogno di una mano con questo codice. Ho fatto molti test con numeri casuali e il risultato è sempre corretto ma quando lo sottopongo mi da 0 su 100.
#include <iostream>
#include <fstream>
#include <vector>
#include <algorithm>
using namespace std;
ifstream leggi("input.txt");
ofstream scrivi ("output.txt");
long somma(vector<long> vec,long sum,long min)
{
for(int i=vec.size();i>=0;i--)
{
sum-=vec[i];
if(sum<min)
sum+=vec[i];
if(sum==min)
return sum;
}
return sum;
}
int main()
{
long N,K;
vector<long> P;
leggi>>N>>K;
long temp,sum;
for(int i=0;i<N;i++)
{
leggi>>temp;
sum+=temp;
P.push_back(temp);
}
sort(P.begin(),P.end());
scrivi<<somma(P,sum,K);
}