Submission #1106687

#TimeUsernameProblemLanguageResultExecution timeMemory
1106687andrewpThe short shank; Redemption (BOI21_prison)C++14
0 / 100
42 ms3332 KiB
//Dedicated to my love, ivaziva #pragma GCC optimize("Ofast") #include <bits/stdc++.h> using namespace std; using ll=int64_t; using pii=pair<int,int>; using pll=pair<int,int>; #define pb push_back #define fi first #define se second #define mp make_pair #define ldb double #define all(x) x.begin(),x.end() #define rall(x) x.rbegin(),x.rend() void rd(int&x){scanf("%i",&x);} void rd(ll&x){scanf("%lld",&x);} void rd(char*x){scanf("%s",x);} void rd(ldb&x){scanf("%lf",&x);} void rd(string&x){scanf("%s",&x);} int ri(){int x;rd(x);return x;} // #ifndef ONLINE_JUDGE // #include "C:\Users\andre\Downloads\cpp-dump-0.7.0\cpp-dump-0.7.0\cpp-dump.hpp" // #define dbg(...) cpp_dump(__VA_ARGS__) // #else // #define dump(...) // #endif template<typename T1,typename T2>void rd(pair<T1,T2>&x){rd(x.first);rd(x.second);} template<typename T>void rd(vector<T>&x){for(T&i:x)rd(i);} template<typename T,typename...A>void rd(T&x,A&...args){rd(x);rd(args...);} template<typename T>void rd(){T x;rd(x);return x;} template<typename T>vector<T> rv(int n){vector<T> x(n);rd(x);return x;} const int N=2e6+50; int n,d,t,a[N]; int main(){ rd(n,d,t); for(int i=1;i<=n;i++){ a[i]=ri(); a[i]=(a[i]>=t?0:1); } vector<int> v; bool flag=false; int curr=0,ans=0; for(int i=1;i<=n;i++){ if(a[i]){ if(flag&&curr) v.pb(curr); else ans+=curr; curr=0; flag=true; }else curr++; } if(flag&&curr) v.pb(curr); else ans+=curr; sort(rall(v)); for(int i=0;i<d;i++) ans+=v[i]; printf("%d\n",n-ans); return 0; }

Compilation message (stderr)

prison.cpp: In function 'void rd(ll&)':
prison.cpp:16:25: warning: format '%lld' expects argument of type 'long long int*', but argument 2 has type 'll*' {aka 'long int*'} [-Wformat=]
   16 | void rd(ll&x){scanf("%lld",&x);}
      |                      ~~~^  ~~
      |                         |  |
      |                         |  ll* {aka long int*}
      |                         long long int*
      |                      %ld
prison.cpp: In function 'void rd(std::string&)':
prison.cpp:19:27: warning: format '%s' expects argument of type 'char*', but argument 2 has type 'std::string*' {aka 'std::__cxx11::basic_string<char>*'} [-Wformat=]
   19 | void rd(string&x){scanf("%s",&x);}
      |                          ~^  ~~
      |                           |  |
      |                           |  std::string* {aka std::__cxx11::basic_string<char>*}
      |                           char*
prison.cpp: In function 'void rd(int&)':
prison.cpp:15:21: warning: ignoring return value of 'int scanf(const char*, ...)' declared with attribute 'warn_unused_result' [-Wunused-result]
   15 | void rd(int&x){scanf("%i",&x);}
      |                ~~~~~^~~~~~~~~
prison.cpp: In function 'void rd(ll&)':
prison.cpp:16:20: warning: ignoring return value of 'int scanf(const char*, ...)' declared with attribute 'warn_unused_result' [-Wunused-result]
   16 | void rd(ll&x){scanf("%lld",&x);}
      |               ~~~~~^~~~~~~~~~~
prison.cpp: In function 'void rd(char*)':
prison.cpp:17:22: warning: ignoring return value of 'int scanf(const char*, ...)' declared with attribute 'warn_unused_result' [-Wunused-result]
   17 | void rd(char*x){scanf("%s",x);}
      |                 ~~~~~^~~~~~~~
prison.cpp: In function 'void rd(double&)':
prison.cpp:18:21: warning: ignoring return value of 'int scanf(const char*, ...)' declared with attribute 'warn_unused_result' [-Wunused-result]
   18 | void rd(ldb&x){scanf("%lf",&x);}
      |                ~~~~~^~~~~~~~~~
prison.cpp: In function 'void rd(std::string&)':
prison.cpp:19:24: warning: ignoring return value of 'int scanf(const char*, ...)' declared with attribute 'warn_unused_result' [-Wunused-result]
   19 | void rd(string&x){scanf("%s",&x);}
      |                   ~~~~~^~~~~~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...