Dev skill DCP-479: New online judge Solution
Problem Link
Dev skill DCP-479: New online judge Solution
#include<bits/stdc++.h>
using namespace std;
struct student
{
char name[15];
int h,a[12];
};
int su(int a[],int h)
{
int sum=0;
for(int i=0; i<h; i++)
{
if(a[i]==1 || a[i]==2)
sum=sum+1;
else if(a[i]==3 || a[i]==4)
sum=sum+3;
else if(a[i]==5 || a[i]==6)
sum=sum+5;
else if(a[i]==7 || a[i]==8)
sum=sum+2;
else if(a[i]==9 || a[i]==10)
sum=sum+8;
}
return sum;
}
void issort(student s[],int sum[],int n)
{
int ret;
for(int i=0; i<n; i++)
{
int min=i;
for(int j=i+1; j<n; j++)
{
if(sum[min]<sum[j])
min=j;
}
for(int j=i; j<n; j++)
{
if(sum[min]==sum[j])
{
ret=strcmp(s[min].name,s[j].name);
if(ret>0)
{
min=j;
char t[15];
strcpy(t,s[min].name);
strcpy(s[min].name,s[j].name);
strcpy(s[j].name,t);
}
}
}
int temp=sum[min];
sum[min]=sum[i];
sum[i]=temp;
char t[15];
strcpy(t,s[min].name);
strcpy(s[min].name,s[i].name);
strcpy(s[i].name,t);
cout<<s[i].name<<endl;
}
}
int main()
{
student s[115],b;
int n,i=0,sum[115],sw[115];
cin>>n;
for(i=0; i<n; i++)
{
cin>>s[i].name>>s[i].h;
int h=s[i].h;
for(int j=0; j<h; j++)
{
cin>>b.a[j];
}
sum[i]=su(b.a,h);
}
issort(s,sum,n);
return 0;
}
No comments