提出 #1133122
ソースコード 拡げる
#include <algorithm>
#include <bitset>
#include <complex>
#include <deque>
#include <exception>
#include <fstream>
#include <functional>
#include <iomanip>
#include <ios>
#include <iosfwd>
#include <iostream>
#include <istream>
#include <iterator>
#include <limits>
#include <list>
#include <locale>
#include <map>
#include <memory>
#include <new>
#include <numeric>
#include <ostream>
#include <queue>
#include <set>
#include <sstream>
#include <stack>
#include <stdexcept>
#include <streambuf>
#include <string>
#include <typeinfo>
#include <utility>
#include <valarray>
#include <vector>
#include <array>
#include <chrono>
#include <condition_variable>
#include <forward_list>
#include <future>
#include <initializer_list>
#include <mutex>
#include <random>
#include <ratio>
#include <regex>
#include <system_error>
#include <thread>
#include <tuple>
#include <typeindex>
#include <type_traits>
#include <unordered_map>
#include <unordered_set>
using namespace std;
long long n;
long long lastx;
long long mp[300];
long long robot(long long x) {
long long caseN;
if (x>=lastx) {
caseN = 1;
} else if (mp[x+1]>0 && mp[x+2]>0) {
caseN = (robot(x+2)*(n-mp[x+2]+1)*2)%1000000007;
} else if (mp[x+1]>0 && !(mp[x+2]>0)) {
caseN = (robot(x+2)*(n-mp[x+1]+1))%1000000007;
} else if (!(mp[x+1]>0) && mp[x+2]>0) {
caseN = (robot(x+2)*(n-mp[x+2]+1))%1000000007;
} else if (!(mp[x+1]>0) && !(mp[x+2]>0)) {
caseN = robot(x+1)%1000000007;
}
return caseN%1000000007;
}
int main(){
cin >> n;
long long lastpoint = -1;
for (long long i=0;i<n;i++) {
long long a;
cin >> a;
if (a > lastpoint) {
a = lastpoint+2;
} else if (a==lastpoint) {
mp[lastpoint] = 0; mp[lastpoint-1]=i;
a=lastpoint+1;
} else if (a < lastpoint) {
mp[lastpoint-2] = i;
}
lastpoint = a;
mp[a] = i+1;
if (i == n-1) lastx = a;
}
long long ans = robot(0)%1000000007;
cout << ans << endl;
}
提出情報
| 提出日時 | |
|---|---|
| 問題 | A - Robot Racing |
| ユーザ | elta19371277 |
| 言語 | C++14 (GCC 5.4.1) |
| 得点 | 0 |
| コード長 | 2042 Byte |
| 結果 | RE |
| 実行時間 | 98 ms |
| メモリ | 256 KiB |
ジャッジ結果
| セット名 | Sample | Subtask | All | ||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 得点 / 配点 | 0 / 0 | 0 / 500 | 0 / 400 | ||||||||||||||
| 結果 |
|
|
|
| セット名 | テストケース |
|---|---|
| Sample | 0_00.txt, 0_01.txt, 0_02.txt, 0_03.txt |
| Subtask | 0_00.txt, 0_01.txt, 0_02.txt, 1_00.txt, 1_01.txt, 1_02.txt, 1_03.txt, 1_04.txt, 1_05.txt, 1_06.txt, 1_07.txt, 1_08.txt, 1_09.txt, 1_10.txt |
| All | 0_00.txt, 0_01.txt, 0_02.txt, 0_03.txt, 1_00.txt, 1_01.txt, 1_02.txt, 1_03.txt, 1_04.txt, 1_05.txt, 1_06.txt, 1_07.txt, 1_08.txt, 1_09.txt, 1_10.txt, 2_00.txt, 2_01.txt, 2_02.txt, 2_03.txt, 2_04.txt, 2_05.txt, 2_06.txt, 2_07.txt, 2_08.txt, 2_09.txt, 2_10.txt, 2_11.txt, 2_12.txt |
| ケース名 | 結果 | 実行時間 | メモリ |
|---|---|---|---|
| 0_00.txt | AC | 1 ms | 256 KiB |
| 0_01.txt | AC | 1 ms | 256 KiB |
| 0_02.txt | AC | 1 ms | 256 KiB |
| 0_03.txt | WA | 1 ms | 256 KiB |
| 1_00.txt | AC | 1 ms | 256 KiB |
| 1_01.txt | AC | 1 ms | 256 KiB |
| 1_02.txt | AC | 1 ms | 256 KiB |
| 1_03.txt | WA | 1 ms | 256 KiB |
| 1_04.txt | AC | 1 ms | 256 KiB |
| 1_05.txt | AC | 1 ms | 256 KiB |
| 1_06.txt | WA | 1 ms | 256 KiB |
| 1_07.txt | WA | 1 ms | 256 KiB |
| 1_08.txt | WA | 1 ms | 256 KiB |
| 1_09.txt | AC | 1 ms | 256 KiB |
| 1_10.txt | AC | 1 ms | 256 KiB |
| 2_00.txt | WA | 1 ms | 256 KiB |
| 2_01.txt | WA | 1 ms | 256 KiB |
| 2_02.txt | WA | 1 ms | 256 KiB |
| 2_03.txt | WA | 1 ms | 256 KiB |
| 2_04.txt | WA | 1 ms | 256 KiB |
| 2_05.txt | WA | 1 ms | 256 KiB |
| 2_06.txt | RE | 98 ms | 256 KiB |
| 2_07.txt | RE | 95 ms | 256 KiB |
| 2_08.txt | WA | 1 ms | 256 KiB |
| 2_09.txt | RE | 96 ms | 256 KiB |
| 2_10.txt | WA | 1 ms | 256 KiB |
| 2_11.txt | WA | 1 ms | 256 KiB |
| 2_12.txt | WA | 1 ms | 256 KiB |