제출 #1146233

#제출 시각아이디문제언어결과실행 시간메모리
1146233orzdraiduwuInfinite Race (EGOI24_infiniterace2)C++20
0 / 100
21 ms1864 KiB
#include <bits/stdc++.h>
using namespace std;
#define int long long
#define F first
#define S second
void dbg(vector<int> &v) { for(int k: v) cout << k << " "; }
void dbg(map<int, int> &v) { for(auto [a, b]: v) cout << a << " " << b << '\n'; }
void dbg(set<int> &v) { for(int k: v) cout << k << " "; }
 
struct DSU {
  vector<int> par, sz;
  DSU(int n) {
    par.resize(n+1);
    sz.resize(n+1, 1);
    for(int i = 0 ; i <= n ; i++) par[i] = i;
  }
 
  int pfind(int v) {
    if(v == par[v]) return v;
    else return par[v] = pfind(par[v]);
  }
 
  void sunion(int a, int b) {
    a = pfind(a);
    b = pfind(b);
    if(a == b) return;
    if(sz[a] > sz[b]) swap(a, b);
    par[b] = a;
    sz[a] += sz[b];
  }
};

const int MOD = 1e9 + 7;
using pr = array<int, 3>;
const int MX = 2e5 + 1;

void solve() {
  int n, q; cin >> n >> q;
  // if n == 2 we can just count how much times 
  /*

  no nvm, if k passes u... ok ok
  
  */

  // vector<int> k(n+1, 0);
  // map<int, bool> f;
  // for(int i = 0 ; i < q ; i++) {
  //   int x; cin >> x;
  //   int w = abs(x);
  //   if(x > 0) {
  //     if(!f[w]) k[w]++;
  //     f[w] = 0;
  //   }

  //   else {
  //     // if(f[w]) k[w]++;
  //     f[w] = 1;
  //   }
  // }

  // int r = 0;
  // for(int i = 0 ; i <= n ; i++) r = max(r, k[i]-1);
  // cout << r;
  int r = 0;
  vector<int> v(q);
  for(int i = 0 ; i < q ; i++) cin >> v[i];
  for(int i = 0 ; i < q-1 ;) {
    if(v[i] > 0 and v[i+1] < 0) i+=2;
    else if(v[i] > 0) r++;
    i++;
  }

  cout << r;
}

signed main() {
  // int t; cin >> t;
  int t = 1;
  while(t--) solve();
}
 
// think greedy first, Div2AB usually are some sort of greedy, super simple usually
// C on Div2 or E on Div3/4 require more thinking but still not too hard
// for later problems, think about data structures like segment tree and ordered set
// do smth instead of nothing and stay organized
// WRITE STUFF DOWN
// DON'T GET STUCK ON ONE APPROACH
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...