안녕하세요. 오늘은 미적분을 할 거예요.
https://www.acmicpc.net/problem/14731
그냥 a,b를 입력받아서 abpow(2,b-1,mod)를 더해주면 됩니다.
#include <iostream>
#define ll long long
using namespace std;
ll pow(ll a, ll b, ll mod)
{
if (b == 0) return 1;
if (b == 1) return a;
ll x = pow(a, b / 2, mod);
ll y = (x * x) % mod;
if (b % 2 == 1) y = (y * 2) % mod;
return y;
}
int main(void)
{
ios_base::sync_with_stdio(false); cin.tie(NULL);
ll mod = 1000000007;
ll N, i, a, b, ans = 0;
cin >> N;
for (i = 0; i < N; i++)
{
cin >> a >> b;
ans += ((a * b) % mod * pow(2, b - 1, mod)) % mod;
ans %= mod;
}
cout << ans;
}
감사합니다.