View Code of Problem 56

#include<cstdio>
#include<cstring>
#include<iostream>
#include<algorithm>
using namespace std;
typedef long long ll;
struct node{
	int h,m,s;
}s[3];
int main(){
	for(int i=0;i<2;i++){
		scanf("%d:%d:%d",&s[i].h,&s[i].m,&s[i].s);
	}
	if(s[0].h>s[1].h){
		s[2].s=s[0].s-s[1].s;
		if(s[0].s<s[1].s){
			s[2].s+=60;
			s[0].m--;
		}
		s[2].m=s[0].m-s[1].m;
		if(s[0].m<s[1].m){
			s[2].m+=60;
			s[0].h--;
		}
		s[2].h=s[0].h-s[1].h;
	}
	if(s[0].h<s[1].h){
		s[2].s=s[1].s-s[0].s;
		if(s[1].s<s[0].s){
			s[2].s+=60;
			s[1].m--;
		}
		s[2].m=s[1].m-s[0].m;
		if(s[1].m<s[0].m){
			s[2].m+=60;
			s[1].h--;
		}
		s[2].h=s[1].h-s[0].h;
	}
	 printf("%d:%02d:%02d",s[2].h,s[2].m,s[2].s);
	return 0;
}

Double click to view unformatted code.


Back to problem 56