#include<bits/stdc++.h>
using namespace std;
int main(){
// m types of fruit
// n number
// fi -> fruit types
// pi -> cost
int t;
cin>>t;
while(t--){
int m , n;
cin>>n>>m;
int *fi=new int[n];
int *pi=new int[n];
int *ti =new int[m];
for(int i=0;i<n;i++){
cin>>fi[i];
}
for(int i=0;i<n;i++){
cin>>pi[i];
}
for(int j=1 ;j<=m;j++){
ti[j]=0;
}
int min=0;
for(int i=0 ;i<n;i++){
ti[fi[i]]+=pi[i];
}
min = ti[1];
for(int i=2;i<=m;i++){
// min=ti[i];
if(min >ti[i] && ti[i]!=0){
min=ti[i];
}
}
cout<<min<<endl;
delete fi;
delete pi;
delete ti;
}
return 0;
Sorry, bro, I donât use pointers for arrays
Youâve used delete pointer and pointers for creating an array which is kind of unsettling for me
Ohh Yes, and youâve accessed mth index of t array which is out of bound
So, itâll give runtime error
Whatâs wrong in my solution? Plz help
I have also considered that price can be 0 #include #include #include #include
using namespace std; #define ll long long int
int main()
{
ll t;
cin >> t;
while (tâ)
{
ll n, m;
cin >> n >> m;
ll mf[m + 1], f[n + 1], p[n + 1];
for (ll i = 0; i <= m; i++)
mf[i] = 0;
for (ll i = 1; i <= n; i++)
cin >> f[i];
for (ll i = 1; i <= n; i++)
cin >> p[i];
for (ll i = 1; i <= n; i++)
mf[f[i]] += p[i];
set<int> st;
for (ll i = 1; i <= n; i++)
st.insert(f[i]);
ll ans = mf[1];
for (ll i = 1; i <= m; i++)
{
if (st.find(i) != st.end())
ans = min(ans, mf[i]);
}
cout << ans << "\n";
}
}
int t;
cin >> t;
while (t--)
{
int n, m;
cin >> n >> m;
int F[n], P[n];
struct basket min[m];
int minB = 1000000;
for (int i = 0; i < m; ++i)
cout << min[i].value ;
for (int i = 0; i < n; ++i)
cin >> F[i];
for (int i = 0; i < n; ++i)
cin >> P[i];
for (int i = 0; i < n; ++i)
{
min[F[i]].value += P[i];
min[F[i]].flag = 1;
}
for (int i = 0; i < m; i++)
{
if (minB > min[i].value && min[i].flag == 1)
minB = min[i].value;
}
cout << minB << endl;
}
return 0;
i m getting 0, but it works for all cases i can think of
using namespace std;
int main()
{
int t;
cin>>t;
while(t--)
{
long long int m,n,i,j;
long long int x=2147483647;
cin>>n>>m;
int fruit[m];
int present[m];
int p[n],f[n];
for(i=1;i<=m;i++)
fruit[i]=0;
for(i=0;i<n;i++)
cin>>f[i];
for(i=0;i<n;i++)
cin>>p[i];
for(i=0;i<n;i++)
{
fruit[f[i]] +=p[i];
present[f[i]]=1;
}
for(i=1;i<=m;i++)
{
if(fruit[i]<x && present[i]==1)
{
x= fruit[i];
}
}
cout<<x<<endl;
}
}
can someone pls tell me why it is showing wrong answer while submitting though itâs giving correct op with custom input. Your help is appreciated
coded in c #include <stdio.h>
int main()
{
//printf(âHi there\nâ);
int t,m,n,i,j,s,l;
scanf("%d",&t);
for(i=0;i<t;i++)
{
yes sry. n could you give a test case where it might not work
using namespace std;
int main()
{
int t;
cin>>t;
while(t--)
{
long long int m,n,i,j;
long long int x=2147483647;
cin>>n>>m;
int fruit[m+1];
int present[m+1];
fruit[0]=0;
int p[n],f[n];
for(i=0;i<=m;i++)
fruit[i]=0;
for(i=0;i<n;i++)
cin>>f[i];
for(i=0;i<n;i++)
cin>>p[i];
for(i=0;i<n;i++)
{
fruit[f[i]] +=p[i];
present[f[i]]=1;
}
for(i=0;i<=m;i++)
{
if(fruit[i]<x && present[i]==1)
{
x= fruit[i];
}
}
cout<<x<<endl;
}
}