zoukankan      html  css  js  c++  java
  • Online Meeting CodeForces

    PS:嫩是没读懂题。假设在消息记录中存在一个leader,则在任何一个log in之前他都在,换言之他没下线。或者他是在最后下线的。

    //#include<bits/stdc++.h>
    #include<cstdio>
    #include<cstring>
    #include<iostream>
    #include<algorithm>
    #include<bitset>
    #include<vector>
    #include<queue>
    #include<map>
    #include<string>
    #include<stack>
    #define ll long long
    #define P pair<int, int>
    #define PP pair<int,pair<int, int>>
    #define pb push_back
    #define pp pop_back
    #define lson root << 1
    #define INF (int)2e9 + 7
    #define rson root << 1 | 1
    #define LINF (unsigned long long int)1e18
    #define mem(arry, in) memset(arry, in, sizeof(arry))
    using namespace std;
    
    inline void coutSpace() { puts("
    "); }
    inline void coutInt(int x) { cout << x << endl; }
    inline void coutSpaceInt(int x) { cout << x << " "; }
    inline void coutLong(ll x) { cout << x << endl; }
    inline void coutSpaceLong(ll x) { cout << x << " "; }
    inline void printInt(int x) { printf("%d
    ", x); }
    inline void printLong(ll x) { printf("%lld
    ", x); }
    inline void printDouble(double x) { printf("%.7f
    ", x); }
    
    const int N = 1e5 + 5;
    
    int n, m, a[N], ans[N];
    char c[N];
    
    int main()
    {
        cin >> n >> m;
        for(int i = 0; i < m; i++) cin >> c[i] >> a[i];
    
        bool flag = false;
        int first = -1, sum = 0, cnt = 0;
    
        for(int i = 0; i < m; i++) {
            if(i == 0) {
                first = a[i];
                flag = true;
            }
            if(c[i] == '+') {
                if(a[i] != first && ans[first] == -1) flag = false;
                ans[a[i]] = 1;
                cnt++;
            }
            else {
                if(ans[a[i]] == 1) cnt--;
                if(a[i] != first && ans[a[i]] == 0) {
                    first = a[i];
                    flag = true;
                }
                if(a[i] == first && cnt) flag = false;
                ans[a[i]] = -1;
            }
        }
    
        if(flag) ans[first] = 0;
    
        for(int i = 1; i <= n; i++) if(ans[i] == 0) sum++;
        coutInt(sum);
        for(int i = 1; i <= n; i++) if(ans[i] == 0) coutSpaceInt(i);
        coutSpace();
    }
  • 相关阅读:
    函数
    函数知识点 --- 函数的认知,组成,格式 --------------- #10
    打包app
    vue ie
    css position
    awesome vue
    20110636乐建18588529432
    vue2.0-基于elementui换肤[自定义主题]
    三目运算符,多条件判断
    微信二次开发准备工作
  • 原文地址:https://www.cnblogs.com/zgglj-com/p/9385596.html
Copyright © 2011-2022 走看看