#include <bits/stdc++.h>
using namespace std;
int main()
{
int i,t,j,m,n,c,sum;
cin>>t;
for(m=0;m<t;m++)
{
cin>>n;
sum=0;
int a[n];
for(i=0;i<n;i++) cin>>a[i];
c=0;
for(i=0;i<n-1;i++)
{
for(j=i+1;j<n;j++)
{
if(a[i]>a[j])
{
swap(a[i],a[j]);
sum=sum+a[i]+a[j];
c++;
}
}
}
cout<<"Optimal train swapping takes "<<sum<<" swaps."<<endl;
cout<<c<<endl;
}
return 0;
}
Category Sorting
UVa – 11799 – Horror Dash
#include <bits/stdc++.h>
using namespace std;
int main()
{
int i,j,t,n,m;
cin>>t;
for(m=1;m<=t;m++)
{
cin>>n;
int a[n];
for(i=0;i<n;i++) cin>>a[i];
for(i=0;i<n-1;i++)
{
for(j=i+1;j<n;j++)
{
if(a[i]>a[j]) swap(a[i],a[j]);
}
}
cout<<"Case "<<m<<": "<<a[n-1]<<endl;
}
return 0;
}
UVa – 10327 – Flip Sort
#include <bits/stdc++.h>
using namespace std;
int main()
{
long long int i,j,m,n,c;
while(cin>>n)
{
long long int a[n];
for(i=0; i<n; i++) cin>>a[i];
c=0;
m=n-1;
while(m!=0)
{
for(i=0,j=1; i<m; i++,j++)
{
if(a[i]>a[j])
{
swap(a[i],a[j]);
c++;
}
}
m--;
}
cout<<"Minimum exchange operations : "<<c<<endl;
}
return 0;
}
UVa – 11462 – Age Sort
sort() of c++ is the fastest IO for sorting in general
#include <bits/stdc++.h>
using namespace std;
int main()
{
long long int n,i;
while(cin>>n)
{
if(n==0) break;
long long int a[n];
for(i=0;i<n;i++) cin>>a[i];
sort(a,a+n);
for(i=0;i<n;i++)
{
if(i==n-1)
{
cout<<a[i]<<endl;
break;
}
cout<<a[i]<<" ";
}
}
return 0;
}