Submission #2599998
Source Code Expand
#include <cstdio> #include <cstdlib> #include <algorithm> #include <vector> #include <cstring> #include <queue> #include <set> #include <map> #include <functional> #include <cmath> #define SIZE 100005 #define INF 1000000000000000000LL using namespace std; typedef long long int ll; typedef pair <int,int> P; ll A[SIZE]; vector <ll> vec[SIZE]; multiset <ll> st; multiset <ll>::iterator it; int n,m; ll D; ll ans; void ins(ll x) { it=st.lower_bound(x); ll nxt=*it; if(nxt!=x) { it--; ll back=*it; if(nxt-back-1>D) { ans++; if(nxt-x-1<=D) ans+=nxt-x-1; if(x-back-1<=D) ans+=x-back-1; } } st.insert(x); } void rem(ll x) { it=st.lower_bound(x); st.erase(it); it=st.lower_bound(x); ll nxt=*it; if(nxt!=x) { it--; ll back=*it; if(nxt-back-1>D) { ans--; if(nxt-x-1<=D) ans-=nxt-x-1; if(x-back-1<=D) ans-=x-back-1; } } } int main() { ll Y; int W; scanf("%lld %d",&Y,&W); scanf("%d %d %lld",&n,&m,&D); ans=0; st.insert(INF); st.insert(-INF); for(int i=0;i<n;i++) scanf("%lld",&A[i]),A[i]--; for(int i=0;i<m;i++) { ll B,C; scanf("%lld %lld",&B,&C); B--,C--; ll d=B*(ll) W+C; ins(d); vec[C].push_back(d); } for(int i=0;i<W;i++) { for(int j=0;j<n;j++) ins(A[j]+i); printf("%lld\n",ans); for(int j=0;j<n;j++) rem(A[j]+i); for(int j=0;j<vec[i].size();j++) { rem(vec[i][j]); ins(vec[i][j]+W); } } return 0; }
Submission Info
Submission Time | |
---|---|
Task | E - 祝日 |
User | yutaka1999 |
Language | C++14 (GCC 5.4.1) |
Score | 700 |
Code Size | 1484 Byte |
Status | AC |
Exec Time | 3523 ms |
Memory | 11916 KB |
Compile Error
./Main.cpp: In function ‘int main()’: ./Main.cpp:65:24: warning: ignoring return value of ‘int scanf(const char*, ...)’, declared with attribute warn_unused_result [-Wunused-result] scanf("%lld %d",&Y,&W); ^ ./Main.cpp:66:30: warning: ignoring return value of ‘int scanf(const char*, ...)’, declared with attribute warn_unused_result [-Wunused-result] scanf("%d %d %lld",&n,&m,&D); ^ ./Main.cpp:70:49: warning: ignoring return value of ‘int scanf(const char*, ...)’, declared with attribute warn_unused_result [-Wunused-result] for(int i=0;i<n;i++) scanf("%lld",&A[i]),A[i]--; ^ ./Main.cpp:74:27: warning: ignoring return value of ‘int scanf(const char*, ...)’, declared with attribute warn_unused_result [-Wunused-result] scanf("%lld %lld",&B,&C); ^
Judge Result
Set Name | Sample | Subtask1 | All | ||||||
---|---|---|---|---|---|---|---|---|---|
Score / Max Score | 0 / 0 | 600 / 600 | 100 / 100 | ||||||
Status |
|
|
|
Set Name | Test Cases |
---|---|
Sample | sample-01.txt, sample-02.txt, sample-03.txt, sample-04.txt |
Subtask1 | 01-01.txt, 01-02.txt, 01-03.txt, 01-04.txt, 01-05.txt, 01-06.txt, 01-07.txt, 01-08.txt, 01-09.txt, 01-10.txt, 01-11.txt, 01-12.txt, 01-13.txt, 01-14.txt, 01-15.txt, 01-16.txt, 01-17.txt, 01-18.txt, 01-19.txt, 01-20.txt, sample-01.txt, sample-02.txt |
All | 01-01.txt, 01-02.txt, 01-03.txt, 01-04.txt, 01-05.txt, 01-06.txt, 01-07.txt, 01-08.txt, 01-09.txt, 01-10.txt, 01-11.txt, 01-12.txt, 01-13.txt, 01-14.txt, 01-15.txt, 01-16.txt, 01-17.txt, 01-18.txt, 01-19.txt, 01-20.txt, 02-01.txt, 02-02.txt, 02-03.txt, 02-04.txt, 02-05.txt, 02-06.txt, 02-07.txt, 02-08.txt, 02-09.txt, 02-10.txt, 02-11.txt, 02-12.txt, 02-13.txt, 02-14.txt, 02-15.txt, 02-16.txt, 02-17.txt, 02-18.txt, 02-19.txt, 02-20.txt, 02-21.txt, 02-22.txt, 02-23.txt, 02-24.txt, 02-25.txt, 02-26.txt, 02-27.txt, 02-28.txt, 02-29.txt, 02-30.txt, 02-31.txt, 02-32.txt, sample-01.txt, sample-02.txt, sample-03.txt, sample-04.txt |
Case Name | Status | Exec Time | Memory |
---|---|---|---|
01-01.txt | AC | 163 ms | 10880 KB |
01-02.txt | AC | 157 ms | 9984 KB |
01-03.txt | AC | 97 ms | 8192 KB |
01-04.txt | AC | 31 ms | 4480 KB |
01-05.txt | AC | 143 ms | 8832 KB |
01-06.txt | AC | 136 ms | 8320 KB |
01-07.txt | AC | 129 ms | 8048 KB |
01-08.txt | AC | 23 ms | 4608 KB |
01-09.txt | AC | 171 ms | 9600 KB |
01-10.txt | AC | 25 ms | 4096 KB |
01-11.txt | AC | 123 ms | 9856 KB |
01-12.txt | AC | 127 ms | 9600 KB |
01-13.txt | AC | 138 ms | 9856 KB |
01-14.txt | AC | 52 ms | 6016 KB |
01-15.txt | AC | 148 ms | 9216 KB |
01-16.txt | AC | 5 ms | 2688 KB |
01-17.txt | AC | 32 ms | 4352 KB |
01-18.txt | AC | 158 ms | 8320 KB |
01-19.txt | AC | 163 ms | 10880 KB |
01-20.txt | AC | 160 ms | 10112 KB |
02-01.txt | AC | 1809 ms | 10880 KB |
02-02.txt | AC | 520 ms | 9216 KB |
02-03.txt | AC | 478 ms | 10112 KB |
02-04.txt | AC | 856 ms | 11916 KB |
02-05.txt | AC | 1771 ms | 10752 KB |
02-06.txt | AC | 876 ms | 9344 KB |
02-07.txt | AC | 130 ms | 8048 KB |
02-08.txt | AC | 256 ms | 3456 KB |
02-09.txt | AC | 991 ms | 9984 KB |
02-10.txt | AC | 76 ms | 3840 KB |
02-11.txt | AC | 1147 ms | 10496 KB |
02-12.txt | AC | 367 ms | 9472 KB |
02-13.txt | AC | 456 ms | 9088 KB |
02-14.txt | AC | 80 ms | 3712 KB |
02-15.txt | AC | 416 ms | 9088 KB |
02-16.txt | AC | 20 ms | 2688 KB |
02-17.txt | AC | 59 ms | 4352 KB |
02-18.txt | AC | 192 ms | 8320 KB |
02-19.txt | AC | 1879 ms | 10880 KB |
02-20.txt | AC | 131 ms | 8052 KB |
02-21.txt | AC | 275 ms | 3328 KB |
02-22.txt | AC | 3 ms | 2560 KB |
02-23.txt | AC | 3523 ms | 11008 KB |
02-24.txt | AC | 1809 ms | 9344 KB |
02-25.txt | AC | 1081 ms | 9344 KB |
02-26.txt | AC | 3 ms | 2560 KB |
02-27.txt | AC | 68 ms | 2688 KB |
02-28.txt | AC | 246 ms | 2944 KB |
02-29.txt | AC | 152 ms | 8064 KB |
02-30.txt | AC | 153 ms | 8192 KB |
02-31.txt | AC | 153 ms | 8192 KB |
02-32.txt | AC | 167 ms | 2816 KB |
sample-01.txt | AC | 2 ms | 2560 KB |
sample-02.txt | AC | 2 ms | 2560 KB |
sample-03.txt | AC | 2 ms | 2560 KB |
sample-04.txt | AC | 2 ms | 2560 KB |