Cod sursa(job #3322617)

Utilizator calinulCalin Cernat calinul Data 15 noiembrie 2025 00:45:49
Problema Ridicare la putere in timp logaritmic Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.47 kb
#include <bits/stdc++.h>

using namespace std;

const int MOD = 1999999973;

int main() {
  FILE *fin, *fout;
  unsigned n, p, ans = 1;

  fin = fopen( "lgput.in", "r" );
  fscanf( fin, "%u%u", &n, &p );
  fclose( fin );

  while ( p > 0 ) {
    if ( p % 2 == 1 )
      ans = ((long long)ans * n) % MOD;
    n = ((long long)n * n) % MOD;
    p /= 2;
  }

  fout = fopen( "lgput.out", "w" );
  fprintf( fout, "%u\n", ans );
  fclose( fout );

  return 0;
}