답안 #1004567

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
1004567 2024-06-21T09:53:46 Z vjudge1 말 (IOI15_horses) C++17
17 / 100
1500 ms 12172 KB
#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++){
        ke = 0;
        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]};
       
    }
    
  //  cout << X[0] *X[1]<<endl;
    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

horses.cpp: In function 'long long int init(int, int*, int*)':
horses.cpp:38:8: warning: unused variable 'final' [-Wunused-variable]
   38 |     ll final = 0;
      |        ^~~~~
horses.cpp:42:27: warning: unused variable 'prev' [-Wunused-variable]
   42 |     ll cnt = 0, left = 0, prev =1;
      |                           ^~~~
horses.cpp:43:28: warning: unused variable 'cl' [-Wunused-variable]
   43 |     ll ccnt = 0, cleft= 0, cl=0;
      |                            ^~
horses.cpp: In function 'long long int updateX(int, int)':
horses.cpp:90:9: warning: unused variable 'final' [-Wunused-variable]
   90 |      ll final = 0;
      |         ^~~~~
horses.cpp:94:27: warning: unused variable 'prev' [-Wunused-variable]
   94 |     ll cnt = 0, left = 0, prev =1;
      |                           ^~~~
horses.cpp:95:28: warning: unused variable 'cl' [-Wunused-variable]
   95 |     ll ccnt = 0, cleft= 0, cl=0;
      |                            ^~
horses.cpp: In function 'long long int updateY(int, int)':
horses.cpp:140:9: warning: unused variable 'final' [-Wunused-variable]
  140 |      ll final = 0;
      |         ^~~~~
horses.cpp:144:27: warning: unused variable 'prev' [-Wunused-variable]
  144 |     ll cnt = 0, left = 0, prev =1;
      |                           ^~~~
horses.cpp:145:28: warning: unused variable 'cl' [-Wunused-variable]
  145 |     ll ccnt = 0, cleft= 0, cl=0;
      |                            ^~
# 결과 실행 시간 메모리 Grader output
1 Correct 0 ms 348 KB Output is correct
2 Correct 0 ms 348 KB Output is correct
3 Correct 0 ms 348 KB Output is correct
4 Correct 0 ms 348 KB Output is correct
5 Correct 0 ms 348 KB Output is correct
6 Correct 0 ms 344 KB Output is correct
7 Correct 0 ms 348 KB Output is correct
8 Correct 0 ms 348 KB Output is correct
9 Correct 0 ms 348 KB Output is correct
10 Correct 0 ms 348 KB Output is correct
11 Correct 0 ms 348 KB Output is correct
12 Correct 0 ms 348 KB Output is correct
13 Correct 0 ms 348 KB Output is correct
14 Correct 0 ms 348 KB Output is correct
15 Correct 0 ms 348 KB Output is correct
16 Correct 0 ms 348 KB Output is correct
17 Correct 1 ms 348 KB Output is correct
18 Correct 0 ms 348 KB Output is correct
19 Correct 0 ms 348 KB Output is correct
20 Correct 0 ms 348 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Correct 1 ms 344 KB Output is correct
2 Correct 0 ms 348 KB Output is correct
3 Correct 0 ms 348 KB Output is correct
4 Correct 0 ms 348 KB Output is correct
5 Correct 0 ms 348 KB Output is correct
6 Correct 0 ms 348 KB Output is correct
7 Correct 0 ms 348 KB Output is correct
8 Correct 0 ms 348 KB Output is correct
9 Correct 0 ms 348 KB Output is correct
10 Correct 1 ms 344 KB Output is correct
11 Correct 0 ms 348 KB Output is correct
12 Correct 0 ms 348 KB Output is correct
13 Correct 1 ms 344 KB Output is correct
14 Correct 0 ms 348 KB Output is correct
15 Correct 1 ms 348 KB Output is correct
16 Correct 0 ms 348 KB Output is correct
17 Correct 0 ms 348 KB Output is correct
18 Correct 0 ms 348 KB Output is correct
19 Correct 0 ms 348 KB Output is correct
20 Correct 0 ms 348 KB Output is correct
21 Incorrect 0 ms 348 KB Output isn't correct
22 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Execution timed out 1547 ms 12172 KB Time limit exceeded
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 0 ms 348 KB Output is correct
2 Correct 0 ms 348 KB Output is correct
3 Correct 0 ms 348 KB Output is correct
4 Correct 0 ms 348 KB Output is correct
5 Correct 0 ms 348 KB Output is correct
6 Correct 0 ms 348 KB Output is correct
7 Correct 0 ms 344 KB Output is correct
8 Correct 0 ms 348 KB Output is correct
9 Correct 0 ms 348 KB Output is correct
10 Correct 0 ms 348 KB Output is correct
11 Correct 0 ms 348 KB Output is correct
12 Correct 0 ms 348 KB Output is correct
13 Correct 0 ms 348 KB Output is correct
14 Correct 0 ms 348 KB Output is correct
15 Correct 0 ms 348 KB Output is correct
16 Correct 0 ms 348 KB Output is correct
17 Correct 0 ms 344 KB Output is correct
18 Correct 0 ms 348 KB Output is correct
19 Correct 0 ms 348 KB Output is correct
20 Correct 0 ms 348 KB Output is correct
21 Incorrect 0 ms 348 KB Output isn't correct
22 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 0 ms 348 KB Output is correct
2 Correct 0 ms 436 KB Output is correct
3 Correct 0 ms 348 KB Output is correct
4 Correct 0 ms 348 KB Output is correct
5 Correct 0 ms 348 KB Output is correct
6 Correct 0 ms 348 KB Output is correct
7 Correct 0 ms 348 KB Output is correct
8 Correct 0 ms 348 KB Output is correct
9 Correct 0 ms 348 KB Output is correct
10 Correct 0 ms 348 KB Output is correct
11 Correct 0 ms 348 KB Output is correct
12 Correct 0 ms 348 KB Output is correct
13 Correct 0 ms 348 KB Output is correct
14 Correct 0 ms 348 KB Output is correct
15 Correct 0 ms 348 KB Output is correct
16 Correct 0 ms 348 KB Output is correct
17 Correct 0 ms 348 KB Output is correct
18 Correct 0 ms 348 KB Output is correct
19 Correct 0 ms 344 KB Output is correct
20 Correct 0 ms 348 KB Output is correct
21 Incorrect 0 ms 348 KB Output isn't correct
22 Halted 0 ms 0 KB -