Cod sursa(job #2163279)

Utilizator Alexandru2006Mihailescu Alexandru Alexandru2006 Data 12 martie 2018 17:37:40
Problema Ciurul lui Eratosthenes Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.98 kb
#include <fstream>

using namespace std;

ifstream fin("timp.in");
ofstream fout("timp.out");

int v[13*60];

int main()
{
    int o1,m1,o2,m2,n,i,t1,t2,m,M,dif,x,y,t3,j;
    fin>>n;
    m=12*60;
    M=0;
    dif=0;
    for(i=1;i<=n;i++)
    {
     fin>>o1>>m1;
     fin>>o2>>m2;
     if(o1==12){o1=0;}
     if(o2==12){o2=0;}
     t1=o1*60+m1;
     t2=o2*60+m2;
     if(t1<m){m=t1;}
     if(t2<m){m=t2;}
     if(t2>=t1){dif=t2-t1;}
     else{dif=(12*60)-(t1-t2);}
     if(dif>M){M=dif;}
     x=dif/2;
     y=x+t1;
     t3=t2-x;
     if(y<=720){if(y/60==12)y=y%60;    v[y]++;}
     else{if(t3/60==12)t3=t3%60;  v[t3]++;}
    }
    if(m/60==0){fout<<12<<" "<<m%60<<'\n';}
    else{fout<<m/60<<" "<<m%60<<'\n';}
    fout<<M/60<<" "<<M%60<<'\n';
    for(i=0;i<=12*60;i++)
    {
     if(v[i]!=0)
     {
      for(j=1;j<=v[i];j++){
         if(i/60==0)
         {fout<<12<<" "<<i%60<<" ";}
         else{fout<<i/60<<" "<<i%60<<" ";}
     }
    }}
    return 0;
}