Submission #19637183
Source Code Expand
Copy
#include <bits/stdc++.h>
using namespace std;
typedef signed long long ll;
#define _P(...) (void)printf(__VA_ARGS__)
#define FOR(x,to) for(x=0;x<(to);x++)
#define FORR(x,arr) for(auto& x:arr)
#define FORR2(x,y,arr) for(auto& [x,y]:arr)
#define ALL(a) (a.begin()),(a.end())
#define ZERO(a) memset(a,0,sizeof(a))
#define MINUS(a) memset(a,0xff,sizeof(a))
template<class T> bool chmax(T &a, const T &b) { if(a<b){a=b;return 1;}return 0;}
template<class T> bool chmin(T &a, const T &b) { if(a>b){a=b;return 1;}return 0;}
//-------------------------------------------------------
int N,M,K;
int A[101010];
int NG[101010];
long double dp[202020],S[202020];
long double hoge(double v) {
int i;
for(i=N-1;i>=0;i--) {
if(NG[i]) {
dp[i]=v;
}
else {
dp[i]=1+(S[i+1]-S[i+1+M])/M;
}
S[i]=S[i+1]+dp[i];
}
return dp[0];
}
void solve() {
int i,j,k,l,r,x,y; string s;
cin>>N>>M>>K;
int p=-1,cur=0;
FOR(i,K) {
cin>>A[i];
if(p+1!=A[i]) cur=0;
p=A[i];
NG[A[i]]=1;
cur++;
if(cur==M) return _P("-1\n");
}
long double L=0,R=1e12;
FOR(i,300) {
long double M=(L+R)/2;
if(hoge(M)>M) L=M;
else R=M;
}
_P("%.12lf\n",(double)L);
}
int main(int argc,char** argv){
string s;int i;
if(argc==1) ios::sync_with_stdio(false), cin.tie(0);
FOR(i,argc-1) s+=argv[i+1],s+='\n'; FOR(i,s.size()) ungetc(s[s.size()-1-i],stdin);
cout.tie(0); solve(); return 0;
}
Submission Info
Submission Time |
|
Task |
F - Sugoroku2 |
User |
kmjp |
Language |
C++ (GCC 9.2.1) |
Score |
600 |
Code Size |
1455 Byte |
Status |
AC |
Exec Time |
295 ms |
Memory |
6948 KB |
Compile Error
./Main.cpp: In function ‘void solve()’:
./Main.cpp:39:8: warning: unused variable ‘j’ [-Wunused-variable]
39 | int i,j,k,l,r,x,y; string s;
| ^
./Main.cpp:39:10: warning: unused variable ‘k’ [-Wunused-variable]
39 | int i,j,k,l,r,x,y; string s;
| ^
./Main.cpp:39:12: warning: unused variable ‘l’ [-Wunused-variable]
39 | int i,j,k,l,r,x,y; string s;
| ^
./Main.cpp:39:14: warning: unused variable ‘r’ [-Wunused-variable]
39 | int i,j,k,l,r,x,y; string s;
| ^
./Main.cpp:39:16: warning: unused variable ‘x’ [-Wunused-variable]
39 | int i,j,k,l,r,x,y; string s;
| ^
./Main.cpp:39:18: warning: unused variable ‘y’ [-Wunused-variable]
39 | int i,j,k,l,r,x,y; string s;
| ^
./Main.cpp: In function ‘int main(int, char**)’:
./Main.cpp:6:28: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::__cxx11::basic_string<char>::size_type’ {aka ‘long unsigned int’} [-Wsign-compare]
6 | #define FOR(x,to) for(x=0;x<(to);x++)
| ^
./Main.cpp:66:38: note: in expansion of macro ‘FOR’
66 | FOR(i,argc-1) s+=argv[i+1],s+='\n'; FOR(i,s.size()) ungetc(s[s.size()-1-i],stdin);
| ^~~
Judge Result
Set Name |
Sample |
All |
Score / Max Score |
0 / 0 |
600 / 600 |
Status |
|
|
Set Name |
Test Cases |
Sample |
sample_01.txt, sample_02.txt, sample_03.txt, sample_04.txt |
All |
hand_01.txt, hand_02.txt, hand_04.txt, max_01.txt, max_02.txt, max_03.txt, max_04.txt, random_01.txt, random_02.txt, random_03.txt, random_04.txt, random_05.txt, random_06.txt, random_07.txt, random_08.txt, random_09.txt, random_10.txt, random_11.txt, random_12.txt, random_14.txt, random_15.txt, random_16.txt, sample_01.txt, sample_02.txt, sample_03.txt, sample_04.txt, unreachable_01.txt, unreachable_02.txt, unreachable_03.txt, unreachable_04.txt |
Case Name |
Status |
Exec Time |
Memory |
hand_01.txt |
AC |
271 ms |
6792 KB |
hand_02.txt |
AC |
2 ms |
3504 KB |
hand_04.txt |
AC |
2 ms |
3648 KB |
max_01.txt |
AC |
295 ms |
6780 KB |
max_02.txt |
AC |
278 ms |
6752 KB |
max_03.txt |
AC |
290 ms |
6852 KB |
max_04.txt |
AC |
278 ms |
6832 KB |
random_01.txt |
AC |
291 ms |
6784 KB |
random_02.txt |
AC |
47 ms |
4112 KB |
random_03.txt |
AC |
273 ms |
6832 KB |
random_04.txt |
AC |
18 ms |
3836 KB |
random_05.txt |
AC |
288 ms |
6748 KB |
random_06.txt |
AC |
275 ms |
6672 KB |
random_07.txt |
AC |
290 ms |
6692 KB |
random_08.txt |
AC |
19 ms |
3788 KB |
random_09.txt |
AC |
291 ms |
6768 KB |
random_10.txt |
AC |
116 ms |
4816 KB |
random_11.txt |
AC |
291 ms |
6948 KB |
random_12.txt |
AC |
287 ms |
6892 KB |
random_14.txt |
AC |
181 ms |
5652 KB |
random_15.txt |
AC |
292 ms |
6692 KB |
random_16.txt |
AC |
139 ms |
5212 KB |
sample_01.txt |
AC |
4 ms |
3644 KB |
sample_02.txt |
AC |
3 ms |
3660 KB |
sample_03.txt |
AC |
5 ms |
3576 KB |
sample_04.txt |
AC |
279 ms |
6704 KB |
unreachable_01.txt |
AC |
2 ms |
3624 KB |
unreachable_02.txt |
AC |
2 ms |
3472 KB |
unreachable_03.txt |
AC |
2 ms |
3624 KB |
unreachable_04.txt |
AC |
3 ms |
3540 KB |