Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <bits/stdc++.h>
- using namespace std;
- #define ms(s,n) memset(s,n,sizeof(s))
- #define all(a) a.begin(),a.end()
- #define present(t, x) (t.find(x) != t.end())
- #define sz(a) int((a).size())
- #define FOR(i, a, b) for (int i = (a); i < (b); ++i)
- #define FORd(i, a, b) for (int i = (a) - 1; i >= (b); --i)
- #define pb push_back
- #define pf push_front
- #define fi first
- #define se second
- #define mp make_pair
- #define endl "\n"
- #define set setw(2)<<setfill('0')
- typedef long long ll;
- typedef unsigned long long ull;
- typedef long double ld;
- typedef pair<int,int> pi;
- typedef vector<int> vi;
- typedef vector<pi> vii;
- const int MOD = (int) 1e9+7;
- const int INF = (int) 1e9+2804;
- inline ll gcd(ll a,ll b){ll r;while(b){r=a%b;a=b;b=r;}return a;}
- inline ll lcm(ll a,ll b){return a/gcd(a,b)*b;}
- struct time1 {
- int h,t,s;
- // constructor khong co tham so (parameter)
- time1(){
- h=0;
- t=0;
- s=0;
- }
- time1 (int _h, int _t, int _s){
- h=_h;
- t=_t;
- s=_s;
- }
- };
- void getDifference(time1 a, time1 b){
- int deltaHour, deltaMin, deltaSec;
- // mac dinh la a.h > b.h
- if(a.s>=b.s){
- deltaSec=a.s-b.s;
- }
- else {
- a.s+=60;
- a.t--;
- deltaSec=a.s-b.s;
- }
- if(a.t>=b.t){
- deltaMin=a.t-b.t;
- }
- else {
- a.t+=60;
- a.h--;
- deltaMin=a.t-b.t;
- }
- if(a.h<=b.h) deltaHour=0;
- else deltaHour=a.h-b.h;
- cout<<set<<deltaHour<<":"<<set<<deltaMin<<":"<<set<<deltaSec;
- }
- struct Time{
- int hour, minute, second;
- Time(){
- hour=minute=second=0;
- }
- Time(int initHour, int initMinute, int initSecond){
- hour=initHour;
- minute=initMinute;
- second=initSecond;
- }
- void getTimeDifference(Time other){
- int dh,dm,ds;
- if(second>=other.second){
- ds=second-other.second;
- }
- else {
- second+=60;
- minute--;
- ds=second-other.second;
- }
- if(minute>=other.minute){
- dm=minute-other.minute;
- }else{
- minute+=60;
- hour--;
- dm=minute-other.minute;
- }
- if(hour>=other.hour){
- dh=hour-other.hour;
- }
- else dh=0;
- cout<<set<<dh<<":"<<set<<dm<<":"<<set<<ds;
- }
- };
- int main(){
- Time a,b;
- cin>>a.hour>>a.minute>>a.second;
- cin>>b.hour>>b.minute>>b.second;
- if(a.hour>b.hour){
- a.getTimeDifference(b);
- }
- else {
- b.getTimeDifference(a);
- }
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment