Submission

Status:

PPPTTTPTTP

Score: 50

User: Jokul

Problemset: ความลึก

Language: c

Time: 1.105 second

Submitted On: 2025-04-15 15:33:13

#include <stdio.h>
int main() {
    int n,q,maxd=0,maxl=0,save,ans;
    scanf("%d %d", &n, &q);
    int d[n],l[n],ship[q],depth[n+1],suml=0;
    for(int i=0;i<=n;i++)
    {
        depth[i]=0;
    }
    for(int i=0;i<n;i++)
    {
       scanf("%d",&d[i]);

           depth[i+1]=depth[i]+d[i];
       scanf("%d",&l[i]);
       if(depth[i+1]>=maxd)
       {
           maxd=depth[i];
       }
    }
    int wide[maxd+1];
    wide[0]=1000000001;
    for(int i=1;i<=maxd;i++)
    {
        maxl=0;
        for(int j=0;j<n;j++)
        {
          if(depth[j+1]>=i)
          {
            suml=suml+l[j];
            if(maxl<=suml)
            {
                maxl=suml;
            }
          }
          else if(depth[j+1]<i)
          {
                suml=0;
          }
        }
        wide[i]=maxl;
    }
    ans=maxd;
    for(int i=0;i<q;i++)
    {
        scanf("%d",&ship[i]);
    }
     for(int i=0;i<q;i++){
    for(int j=maxd;j>0;j--)
    {
         if(ship[i]>wide[1])
             {
                 ans=0;
             }
        else if(ship[i]<=wide[j])
            {
                ans=j;
                break;
            }
    }
    printf("%d\n",ans);
     }
}