답안 #376207

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
376207 2021-03-11T04:32:03 Z daniel920712 Bitaro, who Leaps through Time (JOI19_timeleap) C++14
0 / 100
147 ms 54636 KB
#include <iostream>
#include <stdio.h>
#include <stdlib.h>
#include <vector>

using namespace std;
vector < pair < long long , long long > > Next[300005];
pair < long long , long long > how[300005];
long long F(long long here,long long fa,long long fin,long long x,long long y,long long z)
{
    //printf("%lld %lld %lld %lld %lld\n",here,fin,y,x,z);
    if(here==fin)
    {
        //printf("%d %d %d\n",y,x,z);
        printf("%lld\n",y+max((long long) 0,x-z));
    }
    else
    {
        for(auto i:Next[here])
        {
            if(i.first==fa) continue;
            if(x>=how[i.second].second) F(i.first,here,fin,how[i.second].second,y+x-how[i.second].second+1,z);
            else if(x<=how[i.second].first) F(i.first,here,fin,how[i.second].first+1,y,z);
            else F(i.first,here,fin,x+1,y,z);


        }
    }
}
int main()
{
    long long N,M,a,b,c,d,i;
    scanf("%lld %lld",&N,&M);
    for(i=1;i<N;i++)
    {
        scanf("%lld %lld",&c,&d);
        Next[i].push_back(make_pair(i+1,i));
        Next[i+1].push_back(make_pair(i,i));
        how[i]=make_pair(c,d);
    }
    while(M--)
    {
        scanf("%lld",&a);
        if(a==1)
        {
            scanf("%lld %lld %lld",&b,&c,&d);
            how[b]=make_pair(c,d);
        }
        else
        {
            scanf("%lld %lld %lld %lld",&a,&b,&c,&d);
            F(a,-1,c,b,0,d);
        }
    }
    return 0;
}

Compilation message

timeleap.cpp: In function 'long long int F(long long int, long long int, long long int, long long int, long long int, long long int)':
timeleap.cpp:29:1: warning: no return statement in function returning non-void [-Wreturn-type]
   29 | }
      | ^
timeleap.cpp: In function 'int main()':
timeleap.cpp:33:10: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
   33 |     scanf("%lld %lld",&N,&M);
      |     ~~~~~^~~~~~~~~~~~~~~~~~~
timeleap.cpp:36:14: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
   36 |         scanf("%lld %lld",&c,&d);
      |         ~~~~~^~~~~~~~~~~~~~~~~~~
timeleap.cpp:43:14: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
   43 |         scanf("%lld",&a);
      |         ~~~~~^~~~~~~~~~~
timeleap.cpp:46:18: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
   46 |             scanf("%lld %lld %lld",&b,&c,&d);
      |             ~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~
timeleap.cpp:51:18: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
   51 |             scanf("%lld %lld %lld %lld",&a,&b,&c,&d);
      |             ~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# 결과 실행 시간 메모리 Grader output
1 Runtime error 15 ms 14848 KB Execution killed with signal 11
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Runtime error 147 ms 54636 KB Execution killed with signal 11
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Runtime error 15 ms 14848 KB Execution killed with signal 11
2 Halted 0 ms 0 KB -