fork download
  1. #include <iostream>
  2. #include <cmath>
  3. using namespace std;
  4. const int mod=1e9+7;
  5.  
  6. int gia_tri(int x,int y,int mod)
  7. {
  8. long long res=y;
  9. long long base=x;
  10. int gia_tri=1;
  11. while (res>0)
  12. {
  13. if(res%2==1)
  14. {
  15. gia_tri=gia_tri*base%mod;
  16. }
  17. base=base*base%mod;
  18. res/=2;
  19. }
  20. return gia_tri;
  21. }
  22.  
  23. int main()
  24. {
  25. long long A,sum;
  26. int N;
  27. cin>>A>>N;
  28. if(A==1)
  29. {
  30. cout<<(1+N)%mod;
  31. }
  32. else
  33. {
  34. long long tu=(gia_tri(A,N+1,mod)-1+mod)%mod;/// +mod de gia tri luon duong - VD: -3%7=7 hay 4%7=4 và (4+7)%7=4
  35. long long mau=(gia_tri(A-1,mod-2,mod))%mod;
  36. int dap_an=tu*mau%mod;
  37. cout<<dap_an;
  38. }
  39. }
  40.  
Success #stdin #stdout 0.01s 5272KB
stdin
Standard input is empty
stdout
-564412901