Submission #11262820
Source Code Expand
#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
const long long MOD = 1000000007;
long long modpow(long long a, long long n, long long m)
{
long long ans = 1;
while (n)
{
if (n & 1)
{
ans = (ans * a) % m;
}
a = (a * a) % m;
n >>= 1;
}
return ans;
}
long long combi(long long n, long long a)
{
long long ans = 1, ans1 = 1;
for (long long i = n - a + 1; i <= n; i++)
{
ans *= i % MOD;
ans %= MOD;
}
for (long long i = 2; i <= a; i++)
ans1 = (ans1 * i) % MOD;
ans1 = modpow(ans1, MOD - 2, MOD);
return ((ans % MOD) * ans1) % MOD;
}
void dfs(string s, char mx, ll N)
{
if (s.length() == N)
{
cout << s.c_str() << endl;
}
else
{
for (char c = 'a'; c <= mx; c++)
{
dfs(s + c, ((c == mx) ? (char)(mx + 1) : mx), N);
}
}
}
int bfs(int a, int b, int h, int w, char tmp[][101])
{
int ans[101][101] = {0};
char c[101][101] = {0};
queue<pair<int, int>> s;
for (int i = 0; i <= h; i++)
{
for (int j = 0; j <= w; j++)
{
c[i][j] = tmp[i][j];
}
}
s.push(make_pair(a, b));
while (s.size() > 0)
{
pair<int, int> tmp = s.front();
s.pop();
c[tmp.first][tmp.second] = '#';
for (int i = -1; i <= 1; i++)
{
for (int j = -1; j <= 1; j++)
{
if (tmp.first + i < 1 || tmp.first + i > h)
{
continue;
}
if (tmp.second + j < 1 || tmp.second + j > w)
{
continue;
}
if (i != 0 && j != 0)
{
continue;
}
if (i == 0 && j == 0)
{
continue;
}
if (c[tmp.first + i][tmp.second + j] == '#')
{
continue;
}
c[tmp.first + i][tmp.second + j] = '#';
if (ans[tmp.first + i][tmp.second + j] == 0)
{
ans[tmp.first + i][tmp.second + j] = ans[tmp.first][tmp.second] + 1;
}
else
{
ans[tmp.first + i][tmp.second + j] = min(ans[tmp.first + i][tmp.second + j], ans[tmp.first][tmp.second] + 1);
}
s.push(make_pair(tmp.first + i, tmp.second + j));
}
}
}
int asd = 0;
for (int i = 1; i <= h; i++)
{
for (int j = 1; j <= w; j++)
{
asd = max(a, ans[i][j]);
}
}
return asd;
}
int main()
{
ll n, a, b;
cin >> n >> a >> b;
if(a > b){
cout << 0 << endl;
return 0;
}
if (b - a + 1 > n)
{
cout << 0 << endl;
return 0;
}
if(n==1){
cout << 1 << endl;
return 0;
}
cout << powl(2.0, (n-2)) + 1 << endl;
return 0;
}
Submission Info
Submission Time |
|
Task |
A - A+...+B Problem |
User |
mhiroaki |
Language |
C++14 (GCC 5.4.1) |
Score |
0 |
Code Size |
3238 Byte |
Status |
WA |
Exec Time |
4 ms |
Memory |
512 KB |
Judge Result
Set Name |
Sample |
All |
Score / Max Score |
0 / 0 |
0 / 200 |
Status |
|
|
Set Name |
Test Cases |
Sample |
s1.txt, s2.txt, s3.txt, s4.txt |
All |
01.txt, 02.txt, 03.txt, 04.txt, 05.txt, 06.txt, 07.txt, 08.txt, s1.txt, s2.txt, s3.txt, s4.txt |
Case Name |
Status |
Exec Time |
Memory |
01.txt |
WA |
1 ms |
256 KB |
02.txt |
WA |
4 ms |
512 KB |
03.txt |
AC |
1 ms |
256 KB |
04.txt |
AC |
1 ms |
256 KB |
05.txt |
AC |
1 ms |
256 KB |
06.txt |
AC |
1 ms |
256 KB |
07.txt |
WA |
1 ms |
256 KB |
08.txt |
WA |
1 ms |
256 KB |
s1.txt |
AC |
1 ms |
256 KB |
s2.txt |
AC |
1 ms |
256 KB |
s3.txt |
AC |
1 ms |
256 KB |
s4.txt |
AC |
1 ms |
256 KB |