Submission #1004557

#TimeUsernameProblemLanguageResultExecution timeMemory
1004557vjudge1Horses (IOI15_horses)C++17
17 / 100
1527 ms12192 KiB
#include <bits/stdc++.h> using namespace std; #define ll long long #define f first #define s second #define pb push_back #define pf push_front #define pi pair<int,int> #define vi vector<int> int n ; vector<pi> x, y; const int mod = 1e9+7; ll init(int N, int X[], int Y[]){ n = N; x.resize(N); y.resize(N); ll ke = 0; for(int i =0; i < n; i++){ while(X[i]>=mod){ ke++; X[i]%=mod; } x[i] = {ke, X[i]}; ke = 0; while(Y[i]>=mod){ ke++; Y[i]%=mod; } y[i] = {ke, Y[i]}; } ll final = 0; ll have = 1; ll cnt = 0, left = 0, prev =1; ll ccnt = 0, cleft= 0, cl=0; for(int i = 1; i <= n; i++){ ccnt += x[i-1].f; have = ((have* x[i-1].s)); cleft = 0; while(have>=mod){ cleft++; have %=mod; } ccnt *= cleft; ll hold = have*y[i-1].s; cleft = 0; while(hold >=mod){ hold%=mod; cleft++; } if((ccnt*y[i-1].f)*cleft> cnt){ cnt = (ccnt*y[i-1].f)*cleft; left = hold; } else if((ccnt*y[i-1].f)*cleft==cnt && hold> left){ cnt = (ccnt*y[i-1].f)*cleft; left = hold; } } return left; } ll updateX(int pos, int val){ int he = 0; while(val>=mod){ he++; val%=mod; } x[pos]={he,val}; ll final = 0; ll have = 1; ll cnt = 0, left = 0, prev =1; ll ccnt = 0, cleft= 0, cl=0; for(int i = 1; i <= n; i++){ ccnt += x[i-1].f; have = ((have* x[i-1].s)); cleft = 0; while(have>=mod){ cleft++; have %=mod; } ccnt *= cleft; ll hold = have*y[i-1].s; cleft = 0; while(hold >=mod){ hold%=mod; cleft++; } if((ccnt*y[i-1].f)*cleft> cnt){ cnt = (ccnt*y[i-1].f)*cleft; left = hold; } else if((ccnt*y[i-1].f)*cleft==cnt && hold> left){ cnt = (ccnt*y[i-1].f)*cleft; left = hold; } } return left; } ll updateY(int pos, int val){ int he = 0; while(val>=mod){ he++; val%=mod; } y[pos]={he,val}; ll final = 0; ll have = 1; ll cnt = 0, left = 0, prev =1; ll ccnt = 0, cleft= 0, cl=0; for(int i = 1; i <= n; i++){ ccnt += x[i-1].f; have = ((have* x[i-1].s)); cleft = 0; while(have>=mod){ cleft++; have %=mod; } ccnt *= cleft; ll hold = have*y[i-1].s; cleft = 0; while(hold >=mod){ hold%=mod; cleft++; } if((ccnt*y[i-1].f)*cleft> cnt){ cnt = (ccnt*y[i-1].f)*cleft; left = hold; } else if((ccnt*y[i-1].f)*cleft==cnt && hold> left){ cnt = (ccnt*y[i-1].f)*cleft; left = hold; } } return left; }

Compilation message (stderr)

horses.cpp: In function 'long long int init(int, int*, int*)':
horses.cpp:35:8: warning: unused variable 'final' [-Wunused-variable]
   35 |     ll final = 0;
      |        ^~~~~
horses.cpp:39:27: warning: unused variable 'prev' [-Wunused-variable]
   39 |     ll cnt = 0, left = 0, prev =1;
      |                           ^~~~
horses.cpp:40:28: warning: unused variable 'cl' [-Wunused-variable]
   40 |     ll ccnt = 0, cleft= 0, cl=0;
      |                            ^~
horses.cpp: In function 'long long int updateX(int, int)':
horses.cpp:87:9: warning: unused variable 'final' [-Wunused-variable]
   87 |      ll final = 0;
      |         ^~~~~
horses.cpp:91:27: warning: unused variable 'prev' [-Wunused-variable]
   91 |     ll cnt = 0, left = 0, prev =1;
      |                           ^~~~
horses.cpp:92:28: warning: unused variable 'cl' [-Wunused-variable]
   92 |     ll ccnt = 0, cleft= 0, cl=0;
      |                            ^~
horses.cpp: In function 'long long int updateY(int, int)':
horses.cpp:137:9: warning: unused variable 'final' [-Wunused-variable]
  137 |      ll final = 0;
      |         ^~~~~
horses.cpp:141:27: warning: unused variable 'prev' [-Wunused-variable]
  141 |     ll cnt = 0, left = 0, prev =1;
      |                           ^~~~
horses.cpp:142:28: warning: unused variable 'cl' [-Wunused-variable]
  142 |     ll ccnt = 0, cleft= 0, cl=0;
      |                            ^~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...