Submission #376215

#TimeUsernameProblemLanguageResultExecution timeMemory
376215daniel920712Bitaro, who Leaps through Time (JOI19_timeleap)C++14
0 / 100
3064 ms26988 KiB
#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) { if(here<1||here>300000) while(1); if(here==fin) 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); //if(N>=100000) while(1); 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 (stderr)

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:23:1: warning: control reaches end of non-void function [-Wreturn-type]
   23 | }
      | ^
timeleap.cpp: In function 'int main()':
timeleap.cpp:27:10: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
   27 |     scanf("%lld %lld",&N,&M);
      |     ~~~~~^~~~~~~~~~~~~~~~~~~
timeleap.cpp:31:14: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
   31 |         scanf("%lld %lld",&c,&d);
      |         ~~~~~^~~~~~~~~~~~~~~~~~~
timeleap.cpp:38:14: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
   38 |         scanf("%lld",&a);
      |         ~~~~~^~~~~~~~~~~
timeleap.cpp:41:18: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
   41 |             scanf("%lld %lld %lld",&b,&c,&d);
      |             ~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~
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 %lld",&a,&b,&c,&d);
      |             ~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...