Task: | Call a Cab |
Sender: | Game of Nolife |
Submission time: | 2015-11-25 21:26:47 +0200 |
Language: | C++ |
Status: | READY |
Result: | WRONG ANSWER |
test | verdict | time | |
---|---|---|---|
#1 | WRONG ANSWER | 0.06 s | details |
#2 | TIME LIMIT EXCEEDED | -- | details |
#3 | WRONG ANSWER | 2.20 s | details |
#4 | ACCEPTED | 0.06 s | details |
#5 | WRONG ANSWER | 0.05 s | details |
#6 | ACCEPTED | 0.05 s | details |
#7 | ACCEPTED | 0.71 s | details |
#8 | TIME LIMIT EXCEEDED | -- | details |
#9 | WRONG ANSWER | 1.46 s | details |
#10 | TIME LIMIT EXCEEDED | -- | details |
#11 | TIME LIMIT EXCEEDED | -- | details |
Code
#include <bits/stdc++.h> #define F first #define S second using namespace std; typedef long long ll; typedef long double ld; int dp[101010]; ll dm[101010]; ll hr[101010]; ll d[101010]; ll h[101010]; ll inf=1e18; int inf2=1e9; int main(){ ios_base::sync_with_stdio(0); cin.tie(0); int t,n; cin>>t>>n; for (int i=0;i<t;i++){ cin>>dm[i]>>hr[i]; } for (int i=1;i<n;i++){ cin>>d[i]>>h[i]; dp[i]=inf2; } dp[0]=0; for (int i=0;i<n-1;i++){ for (int j=0;j<t;j++){ ll td=0; ll ks=0; ll mik=inf; ll mak=-inf; for (int a=i+1;a<n;a++){ td+=d[a]; ks=h[a]; mik=min(mik, ks); mak=max(mak, ks); //cout<<mik<<" mima "<<mak<<endl; if (mak-mik<=hr[j]&&td>=dm[j]){ //cout<<i<<" "<<a<<endl; dp[a]=min(dp[a], dp[i]+1); } } } } if (dp[n-1]<inf2){ cout<<dp[n-1]<<endl; } else{ cout<<"IMPOSSIBLE"<<endl; } }
Test details
Test 1
Verdict: WRONG ANSWER
input |
---|
100 400 791 14000 114 90000 315 24000 263 64000 ... |
correct output |
---|
38 |
user output |
---|
1 |
Test 2
Verdict: TIME LIMIT EXCEEDED
input |
---|
200 20000 8054 12000 5906 25000 694 10000 6154 33000 ... |
correct output |
---|
10 |
user output |
---|
(empty) |
Test 3
Verdict: WRONG ANSWER
input |
---|
5 19999 29 310000 30 27000 15 24000 47 29000 ... |
correct output |
---|
329 |
user output |
---|
1 |
Test 4
Verdict: ACCEPTED
input |
---|
20 990 9 48000 12 12000 50 47000 32 43000 ... |
correct output |
---|
IMPOSSIBLE |
user output |
---|
IMPOSSIBLE |
Test 5
Verdict: WRONG ANSWER
input |
---|
2 7 4 6000 35 150000 2 2000 2 2000 ... |
correct output |
---|
2 |
user output |
---|
1 |
Test 6
Verdict: ACCEPTED
input |
---|
1 2 1000 359000 999 170000 |
correct output |
---|
IMPOSSIBLE |
user output |
---|
IMPOSSIBLE |
Test 7
Verdict: ACCEPTED
input |
---|
2 19225 4 6000 35 150000 2 2000 2 2000 ... |
correct output |
---|
7209 |
user output |
---|
7209 |
Test 8
Verdict: TIME LIMIT EXCEEDED
input |
---|
20 19994 64104 18485 76684 42914 9274 32600 62514 5429 ... |
correct output |
---|
7436 |
user output |
---|
(empty) |
Test 9
Verdict: WRONG ANSWER
input |
---|
4 19991 44888 26641 8529 28990 32092 26053 3517 46793 ... |
correct output |
---|
6510 |
user output |
---|
IMPOSSIBLE |
Test 10
Verdict: TIME LIMIT EXCEEDED
input |
---|
200 49982 53794 19371 61913 14454 27602 37952 95478 10677 ... |
correct output |
---|
15082 |
user output |
---|
(empty) |
Test 11
Verdict: TIME LIMIT EXCEEDED
input |
---|
200 50000 11051 7334 85759 12058 95157 12080 87226 41381 ... |
correct output |
---|
49999 |
user output |
---|
(empty) |