Code:
```#include<iostream.h>
#include<malloc.h>

#define uint unsigned int
int main()
{
uint noOfOverFlow=0,reqSum=0,i,hr[3],min[3],minuteSum=0;
for(i=0;i<3;++i)
{
cout<<"Enter "<<i<< " Hour"<<endl;;
cin>>hr[i];
cout<<"Enter "<<i<< " minutes"<<endl;
cin>>min[i];
}
minuteSum=min[0]+min[1]+min[2];
noOfOverFlow = minuteSum/60;
for(i=0;i<3;++i)
reqSum= reqSum+ hr[i]*100+min[i];
cout<<"reqSum"<<reqSum<<endl;
minuteSum=(reqSum)%100;
cout<<"MinuteSum"<<minuteSum<<endl;

for(i=0;i<noOfOverFlow; ++i)
{
minuteSum = minuteSum +40;
}
cout<<"MinuteSum"<<minuteSum<<endl;

cout<<"Finally Sum is"<<((hr[0]+hr[1]+hr[2])+ noOfOverFlow)<<"hr"<<minuteSum%100<<endl;;

return 0;
}```
Output:
Code:
```asadulla ~/temp> g++ test.cc
Enter 0 Hour
1
Enter 0 minutes
50
Enter 1 Hour
1
Enter 1 minutes
50
Enter 2 Hour
1
Enter 2 minutes
50
reqSum450
MinuteSum50
MinuteSum130
Finally Sum is5hr30
Enter 0 Hour
1
Enter 0 minutes
90
Enter 1 Hour
1
Enter 1 minutes
90
Enter 2 Hour
1
Enter 2 minutes
90
reqSum570
MinuteSum70
MinuteSum230
Finally Sum is7hr30```

As i will suggest substraccting 60 is better solution than adding 40....
adding 40 method is better if are calculating manually i.e. writing Competetive examination like CAT, GMAT etc.