Submission #1312296

#TimeUsernameProblemLanguageResultExecution timeMemory
1312296cansu_mutluNaval battle (CEOI24_battle)C++20
0 / 100
58 ms15576 KiB
#include<bits/stdc++.h>
#define int long long
using namespace std;
int32_t main()
{
    ios_base::sync_with_stdio(false);
    cin.tie(nullptr);
    int n;
    cin >> n;
    // 0 = E // 1 = S // 2 = W // 3 = N
    vector<array<int,5>> a(n);
    vector<int> vis(n,0);
    for(int i=0;i<n;i++)
    {
        cin >> a[i][2] >> a[i][1];
        a[i][0] = a[i][1]+a[i][2];
        char c;
        cin >> c;
        if(c=='E') a[i][3] = 0;
        else a[i][3] = 1;
        a[i][4] = i;
    }
    sort(a.begin(),a.end());
    vector<int> ol(n,0);
    vector<array<int,2>> cur;
    for(int i=0;i<n;i++)
    {
        if(i>0 && a[i][0]!=a[i-1][0])
        {
            //cout << a[i][0] << " "<< a[i-1][0] << endl;
            vector<int> ac;
            for(auto k:cur)
            {
                //cout << k[0] <<"  "<< k[1] << endl;
                if(k[0]==1) ac.push_back(k[1]);
                else
                {
                    if(ac.size())
                    {
                        int c = ac.back();
                        ac.pop_back();
                        ol[c] = ol[k[1]] = 1;
                    }
                }
            }
            cur.clear();
        }
        cur.push_back({a[i][3],a[i][4]});
    }
    for(int i=0;i<n;i++) 
    {
        if(ol[i]==0) cout << i+1 << endl;
    }
}
#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...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...