제출 #639787

#제출 시각아이디문제언어결과실행 시간메모리
639787guest35178Homework (CEOI22_homework)C++17
100 / 100
152 ms17264 KiB
#include<bits/stdc++.h>
using namespace std;

#define db(val) "["#val" = "<<(val)<<"] "
#define FOR(i,l,r) for(int i=(l);i<=(r);i++)
#define FOD(i,l,r) for(int i=(l);i>=(r);i--)
#define REP(i,l,r) for(int i=(l);i<(r);i++)

#define task ""

#define all(v) v.begin(),v.end()
#define uniq(v) v.resize(unique(all(v))-v.begin())
#define siz(v) (int32_t)(v.size())

#define left L392324
#define data UWU
#define right H392324

mt19937_64 rd(chrono::steady_clock::now().time_since_epoch().count());

using ll=long long;
using pii=pair<int,int>;

template<class T,class U> void MAX(T &x,U y){if(x<y)x=y;}
template<class T,class U> void MIN(T &x,U y){if(y<x)x=y;}

inline ll rand(ll l,ll r){
   return uniform_int_distribution<ll>(l,r)(rd);
}

void RESET();
void AC();

void sinhtest(){
   ofstream cout("input.txt");

   cout.close();
}

int32_t main(){
   cin.tie(0)->ios::sync_with_stdio(0);

//   sinhtest();

   #ifdef trinhcham
      freopen("test_input.inp","r",stdin);
      freopen("test_output.out","w",stdout);
   #else
      if(fopen("input.txt","r")){
         freopen("input.txt","r",stdin);
         freopen("output.txt","w",stdout);
         freopen(".log","w",stderr);
      }else if(fopen(task".inp","r")){
         freopen(task".inp","r",stdin);
         freopen(task".out","w",stdout);
      }
   #endif

   /// [=============================]
         constexpr bool MULTITEST=0;
   /// [=============================]

   ll TESTCASES=1;
   if(MULTITEST)cin>>TESTCASES;

   FOR(test,1,TESTCASES){
      RESET();
      AC();
      cout<<'\n';
   }
}

void RESET(){

}

void AC(){
   using tp=tuple<int,int,int>;
   stack<int> dau;
   stack<tp> so;
   #define Max 1
   #define Min 0
   char c;
   while(cin>>c){
      if(c=='m'){///m**(
         char s;cin>>s;
         if(s=='a'){///max
            dau.push(Max);
         }else{///min
            dau.push(Min);
         }
         cin>>s>>s;
      }else if(c=='?'){///?
         so.emplace(1,1,1);
      }else if(c==')'){
         int curd=dau.top();
         dau.pop();
         int L,a,b,R,c,d;
         tie(L,a,b)=so.top();
         so.pop();
         tie(R,c,d)=so.top();
         so.pop();
         if(curd==Max)
            so.emplace(L+R,a+c,max(L+d,R+b));
         else so.emplace(L+R,min(a,c),b+d-1);
      }
      ///skip ,
   }
   int _,l,r;tie(_,l,r)=so.top();
   cout<<r-l+1;
}















컴파일 시 표준 에러 (stderr) 메시지

Main.cpp: In function 'int32_t main()':
Main.cpp:50:17: warning: ignoring return value of 'FILE* freopen(const char*, const char*, FILE*)' declared with attribute 'warn_unused_result' [-Wunused-result]
   50 |          freopen("input.txt","r",stdin);
      |          ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~
Main.cpp:51:17: warning: ignoring return value of 'FILE* freopen(const char*, const char*, FILE*)' declared with attribute 'warn_unused_result' [-Wunused-result]
   51 |          freopen("output.txt","w",stdout);
      |          ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~
Main.cpp:52:17: warning: ignoring return value of 'FILE* freopen(const char*, const char*, FILE*)' declared with attribute 'warn_unused_result' [-Wunused-result]
   52 |          freopen(".log","w",stderr);
      |          ~~~~~~~^~~~~~~~~~~~~~~~~~~
Main.cpp:54:17: warning: ignoring return value of 'FILE* freopen(const char*, const char*, FILE*)' declared with attribute 'warn_unused_result' [-Wunused-result]
   54 |          freopen(task".inp","r",stdin);
      |          ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~
Main.cpp:55:17: warning: ignoring return value of 'FILE* freopen(const char*, const char*, FILE*)' declared with attribute 'warn_unused_result' [-Wunused-result]
   55 |          freopen(task".out","w",stdout);
      |          ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~
#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...