제출 #710124

#제출 시각아이디문제언어결과실행 시간메모리
710124ToroTNLightning Rod (NOI18_lightningrod)C++14
80 / 100
2041 ms262144 KiB
#include<bits/stdc++.h>
using namespace std;
#define X first
#define Y second
int n,x[10000005],y[10000005],hsh[10000005],ans=0;
stack<pair<int,int> > stk;
int main()
{
    scanf("%d",&n);
    for(int i=1;i<=n;i++)scanf("%d%d",&x[i],&y[i]);
    for(int i=1;i<=n;i++)
    {
        while(!stk.empty())
        {
            if(y[i]-x[i]>=stk.top().X)
            {
                stk.pop();
            }else
            {
                break;
            }
        }
        stk.push({y[i]-x[i],i});
    }
    while(!stk.empty())
    {
        ++hsh[stk.top().Y];
        stk.pop();
    }
    for(int i=n;i>=1;i--)
    {
        while(!stk.empty())
        {
            if(y[i]+x[i]>=stk.top().X)
            {
                stk.pop();
            }else
            {
                break;
            }
        }
        stk.push({y[i]+x[i],i});
    }
    while(!stk.empty())
    {
        ++hsh[stk.top().Y];
        if(hsh[stk.top().Y]==2)++ans;
        stk.pop();
    }
    printf("%d\n",ans);
}

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

lightningrod.cpp: In function 'int main()':
lightningrod.cpp:9:10: warning: ignoring return value of 'int scanf(const char*, ...)' declared with attribute 'warn_unused_result' [-Wunused-result]
    9 |     scanf("%d",&n);
      |     ~~~~~^~~~~~~~~
lightningrod.cpp:10:31: warning: ignoring return value of 'int scanf(const char*, ...)' declared with attribute 'warn_unused_result' [-Wunused-result]
   10 |     for(int i=1;i<=n;i++)scanf("%d%d",&x[i],&y[i]);
      |                          ~~~~~^~~~~~~~~~~~~~~~~~~~
#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...