提出 #17176607
ソースコード 拡げる
//Jai Sai Ram
// Please help me in every situation
#include<bits/stdc++.h>
using namespace std;
typedef long long int ll;
#define endl "\n"
vector<pair<ll,ll>> adj[400001];
ll vis[400001][4],dis[400001],ending[400001];
bool check(vector<pair<ll,ll>> vp)
{
ll ans=true;
map<ll,ll> mp;
for(ll i=0;i<vp.size();i++)
{
if(vp[i].second!=-1&&vp[i].second<=vp[i].first)
return false;
if(mp[vp[i].first]>0&&vp[i].first!=-1)
return false;
if(mp[vp[i].second]>0&&vp[i].second!=-1)
return false;
mp[vp[i].second]++;
mp[vp[i].first]++;
}
return true;
}
void solve()
{
ll i,j,k,l,m,n,o;
cin>>n;
ll auxi[3*n+1];
memset(auxi,-1,sizeof(auxi));
vector<pair<ll,ll>> vp;
map<ll,ll> start,end;
o=0;
set<pair<ll,ll>> known;
for(i=1;i<=n;i++)
{
cin>>j>>k;
vp.push_back({j,k});
if(j!=-1&&k==-1)
start[j]=i;
if(k!=-1&&j==-1)
end[k]=i;
if(j==-1&&k==-1)
vp.pop_back();
if(j!=-1&&k!=-1)
{
o++;
known.insert({j,k});
}
}
if(!check(vp))
{
cout<<"No\n";
return;
}
if(check(vp)&&o<=1)
{
cout<<"Yes\n";
return ;
}
//cout<<check(vp)<<" "<<o<<endl;
ll flag=0;
set<ll> done;
while(!known.empty())
{
auto it=*known.begin();
ll u=it.first;
ll v=it.second;
known.erase(it);
if(it.first<=0||it.second>2*n)
{flag=1;
break;}
done.insert(start[u]);
done.insert(end[v]);
ll val=v-u-1;
for(k=u;k<=v;k++)
{
if(auxi[k]!=-1)
{
if(auxi[k]!=val)
{
flag=1;
break;
}
}
auxi[k]=val;
if(start[k]!=0)
{
if(done.find(start[k])==done.end())
known.insert({k,k+val+1});
else
flag=1;
}
else if(end[k]!=0)
{
if(done.find(end[k])==done.end())
known.insert({k-val-1,k});
else
flag=1;
}
}
if(flag)
break;
}
if(flag==1)
{
cout<<"No\n";
return;
}
else
{
for(i=1;i<=n;i++)
{
if(done.find(i)==done.end())
{
j=vp[i-1].first;
k=vp[i-1].second;
if(j!=-1&&k==-1)
{
if(end[j+1]>0&&done.find(end[j+1])!=done.end())
{
if(auxi[j-1]!=-1&&auxi[j+2]!=-1)
{
if(auxi[j-1]!=auxi[j+2])
flag=1;
}
}
}
}
}
if(flag)
cout<<"No\n";
else
cout<<"Yes\n";
}
}
int main()
{
ll t=1;
ios_base::sync_with_stdio(false);
cin.tie(0);
ll i=1;
// cin>>t;
while(t--)
{
solve();
i++;
}
return 0;
}
提出情報
| 提出日時 | |
|---|---|
| 問題 | C - Fair Elevator |
| ユーザ | AM_I_Learning |
| 言語 | C++ (GCC 9.2.1) |
| 得点 | 0 |
| コード長 | 3417 Byte |
| 結果 | WA |
| 実行時間 | 18 ms |
| メモリ | 13076 KiB |
コンパイルエラー
./Main.cpp: In function ‘bool check(std::vector<std::pair<long long int, long long int> >)’:
./Main.cpp:13:17: warning: comparison of integer expressions of different signedness: ‘ll’ {aka ‘long long int’} and ‘std::vector<std::pair<long long int, long long int> >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare]
13 | for(ll i=0;i<vp.size();i++)
| ~^~~~~~~~~~
./Main.cpp:11:8: warning: unused variable ‘ans’ [-Wunused-variable]
11 | ll ans=true;
| ^~~
./Main.cpp: In function ‘void solve()’:
./Main.cpp:28:14: warning: unused variable ‘l’ [-Wunused-variable]
28 | ll i,j,k,l,m,n,o;
| ^
./Main.cpp:28:16: warning: unused variable ‘m’ [-Wunused-variable]
28 | ll i,j,k,l,m,n,o;
| ^
ジャッジ結果
| セット名 | Sample | All | ||||||
|---|---|---|---|---|---|---|---|---|
| 得点 / 配点 | 0 / 0 | 0 / 600 | ||||||
| 結果 |
|
|
| セット名 | テストケース |
|---|---|
| Sample | s1.txt, s2.txt, s3.txt |
| All | 01.txt, 02.txt, 03.txt, 04.txt, 05.txt, 06.txt, 07.txt, 08.txt, 09.txt, 10.txt, 11.txt, 12.txt, 13.txt, 14.txt, 15.txt, 16.txt, 17.txt, 18.txt, 19.txt, 20.txt, 21.txt, 22.txt, 23.txt, 24.txt, 25.txt, 26.txt, 27.txt, 28.txt, 29.txt, 30.txt, 31.txt, 32.txt, 33.txt, 34.txt, 35.txt, 36.txt, 37.txt, 38.txt, 39.txt, 40.txt, 41.txt, 42.txt, 43.txt, s1.txt, s2.txt, s3.txt |
| ケース名 | 結果 | 実行時間 | メモリ |
|---|---|---|---|
| 01.txt | AC | 13 ms | 12972 KiB |
| 02.txt | AC | 11 ms | 12960 KiB |
| 03.txt | AC | 12 ms | 12900 KiB |
| 04.txt | WA | 10 ms | 13060 KiB |
| 05.txt | WA | 15 ms | 12968 KiB |
| 06.txt | WA | 11 ms | 12988 KiB |
| 07.txt | WA | 15 ms | 12980 KiB |
| 08.txt | WA | 12 ms | 13032 KiB |
| 09.txt | WA | 11 ms | 13064 KiB |
| 10.txt | WA | 10 ms | 13028 KiB |
| 11.txt | WA | 13 ms | 12928 KiB |
| 12.txt | WA | 16 ms | 12988 KiB |
| 13.txt | WA | 11 ms | 12988 KiB |
| 14.txt | WA | 12 ms | 12912 KiB |
| 15.txt | WA | 12 ms | 13024 KiB |
| 16.txt | WA | 12 ms | 13000 KiB |
| 17.txt | WA | 13 ms | 13076 KiB |
| 18.txt | WA | 15 ms | 13072 KiB |
| 19.txt | WA | 14 ms | 12992 KiB |
| 20.txt | AC | 11 ms | 12920 KiB |
| 21.txt | AC | 12 ms | 12940 KiB |
| 22.txt | AC | 16 ms | 13036 KiB |
| 23.txt | AC | 17 ms | 12940 KiB |
| 24.txt | AC | 11 ms | 13016 KiB |
| 25.txt | AC | 14 ms | 13076 KiB |
| 26.txt | AC | 11 ms | 12996 KiB |
| 27.txt | AC | 15 ms | 13020 KiB |
| 28.txt | WA | 14 ms | 13000 KiB |
| 29.txt | AC | 13 ms | 12912 KiB |
| 30.txt | AC | 17 ms | 12908 KiB |
| 31.txt | AC | 11 ms | 12916 KiB |
| 32.txt | WA | 10 ms | 13032 KiB |
| 33.txt | AC | 17 ms | 12912 KiB |
| 34.txt | AC | 13 ms | 12908 KiB |
| 35.txt | AC | 11 ms | 12912 KiB |
| 36.txt | AC | 14 ms | 13024 KiB |
| 37.txt | AC | 12 ms | 12928 KiB |
| 38.txt | AC | 18 ms | 13032 KiB |
| 39.txt | AC | 12 ms | 13024 KiB |
| 40.txt | AC | 16 ms | 12976 KiB |
| 41.txt | AC | 14 ms | 13008 KiB |
| 42.txt | AC | 13 ms | 12896 KiB |
| 43.txt | AC | 15 ms | 13000 KiB |
| s1.txt | AC | 12 ms | 12964 KiB |
| s2.txt | AC | 12 ms | 12848 KiB |
| s3.txt | AC | 12 ms | 12992 KiB |