• USACO Section 1.2 : Milking Cows


    # include <stdio.h>
    long begin[5001],end[5001];
    long maxw=0,maxf=0;
    long lastend;

    long max (long x,long y)
    {
       
    if (x>y) return (x);
       
    else return (y);
    }

    long qsort (long lx,long rx)
    {
       
    long i,j,tb,te;
       i
    =lx;
       j
    =rx;
       tb
    =begin[lx];
       te
    =end[lx];
       
    do
       {
          
    while ((begin[j]>tb)&&(j>i))
             j
    --;
          
    if (i<j)
          {
             begin[i]
    =begin[j];
             end[i]
    =end[j];
             i
    ++;
             }
          
    while ((begin[i]<tb)&&(j>i))
             i
    ++;
          
    if (i<j)
          {
             begin[j]
    =begin[i];
             end[j]
    =end[i];
             j
    --;
             }
          }
    while (i<j);
       begin[i]
    =tb;
       end[i]
    =te;
       i
    ++;
       j
    --;
       
    if (j>lx) qsort(lx,j);
       
    if (i<rx) qsort(i,rx);
       
    return (0);
    }


    main ()
    {
       FILE 
    *in=fopen("milk2.in","r");
       FILE 
    *out=fopen("milk2.out","w");
       
    long N;
       
    long i,j;
       fscanf (
    in,"%d",&N);
       
    for (i=1;i<=N;i++)
          fscanf (
    in,"%d%d",&begin[i],&end[i]);
       qsort(
    1,N);

       
    for (i=1;i<N;i++)
       {
          
    for (j=i+1;j<=N;j++)
             
    if ((end[i]>=begin[j])&&(end[i]<=end[j]))
                end[i]
    =end[j];
          }
       
    for (i=1;i<=N;i++)
          maxw
    =max(maxw,end[i]-begin[i]);
       
    for (i=2;i<=N;i++)
       {
          lastend
    =0;
          
    for (j=1;j<i;j++)
          {
             lastend
    =max(lastend,end[j]);
             }
          maxf
    =max(maxf,begin[i]-lastend);
          }
       fprintf (
    out,"%d %d\n",maxw,maxf);
       fclose(
    in);
       fclose(
    out);
       exit(
    0);
    }
  • 相关阅读:
    [leetcode-604-Design Compressed String Iterator]
    [leetcode-617-Merge Two Binary Trees]
    OpenCV学习1-----打开摄像头并在画面上添加水印
    cvCvtColor与cvtColor区别
    [leetcode-547-Friend Circles]
    [leetcode-260-Single Number III]
    复位电路
    单片机特殊功能寄存器
    单片机的定时器与计数器
    单片机定时/计数工作方式
  • 原文地址:https://www.cnblogs.com/vistach/p/1536630.html
Copyright © 2020-2023  润新知