답안 #1004556

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
1004556 2024-06-21T09:47:48 Z vjudge1 말 (IOI15_horses) C++17
컴파일 오류
0 ms 0 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++){
        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;
}


int main(){
    
    int n;
    cin >> n;
    int a[n], b[n];
    for(int& i : a){
        cin >> i;
    }
    for(int &i : b){
        cin >> i;
        
    }
    
    cout << init(n,a,b)<<endl;
    
}



Compilation message

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;
      |                            ^~
horses.cpp: In function 'int main()':
horses.cpp:181:9: warning: declaration of 'n' shadows a global declaration [-Wshadow]
  181 |     int n;
      |         ^
horses.cpp:11:5: note: shadowed declaration is here
   11 | int n ;
      |     ^
/usr/bin/ld: /tmp/ccLB6JJ6.o: in function `main':
grader.c:(.text.startup+0x0): multiple definition of `main'; /tmp/cc1Nj4a4.o:horses.cpp:(.text.startup+0x0): first defined here
collect2: error: ld returned 1 exit status