Submission #2957

# Submission time Handle Problem Language Result Execution time Memory
2957 2013-08-18T13:55:05 Z ainta Languages (IOI10_languages) C++
Compilation error
0 ms 0 KB
#include <stdlib.h>
#include <stdio.h>
#include <math.h>
#include <map>
#include <algorithm>
using namespace std;

#include "grader.h"
#include "lang.h"

#define SZ 100

int prev[66000][56];
short Map[56][262144],Map2[56][262144],Map3[56][262144];
double C[56],tt;
void excerpt(int *E) {
    int i,j,x,t;
    double M=-1;
    for(i=0;i<56;i++)C[i]=0;
    for(i=0;i<SZ;i++){
        for(j=0;j<56;j++){
            tt=prev[E[i]][j];
            C[j]+=tt/(tt+0.9);
            if(i!=99){
                t=E[i]*2735+E[i+1]*11295;
                tt=Map[j][t&262143];
                C[j]+=tt/(tt+1.0);
            }
            if(i<98){
                t+=E[i+2]*9763;
                tt=Map2[j][t&262143];
                C[j]+=tt/(tt+1.0);
            }
            if(i<97){
                t+=E[i+3]*4793;
                tt=Map3[j][t&262143];
                C[j]+=tt/(tt+1.0);
            }
        }
    }
    M=-1;
    for(i=0;i<56;i++)if(M<C[i])M=C[i],x=i;
    x=language(x);
    for(i=0;i<SZ;i++){
        prev[E[i]][x]++;
        if(i<99){t=E[i]*2735+E[i+1]*11295;Map[x][t&262143]++;}
        if(i<98){t+=E[i+2]*9763;Map2[x][t&262143]++;}
        if(i<97){t+=E[i+3]*4793;Map3[x][t&262143]++;}
    }
}

Compilation message

lang.cpp: In function 'void excerpt(int*)':
lang.cpp:22:16: error: reference to 'prev' is ambiguous
             tt=prev[E[i]][j];
                ^~~~
lang.cpp:13:5: note: candidates are: int prev [66000][56]
 int prev[66000][56];
     ^~~~
In file included from /usr/include/c++/7/bits/stl_algobase.h:66:0,
                 from /usr/include/c++/7/bits/stl_tree.h:63,
                 from /usr/include/c++/7/map:60,
                 from lang.cpp:4:
/usr/include/c++/7/bits/stl_iterator_base_funcs.h:220:5: note:                 template<class _BidirectionalIterator> _BidirectionalIterator std::prev(_BidirectionalIterator, typename std::iterator_traits<_Iter>::difference_type)
     prev(_BidirectionalIterator __x, typename
     ^~~~
lang.cpp:45:9: error: reference to 'prev' is ambiguous
         prev[E[i]][x]++;
         ^~~~
lang.cpp:13:5: note: candidates are: int prev [66000][56]
 int prev[66000][56];
     ^~~~
In file included from /usr/include/c++/7/bits/stl_algobase.h:66:0,
                 from /usr/include/c++/7/bits/stl_tree.h:63,
                 from /usr/include/c++/7/map:60,
                 from lang.cpp:4:
/usr/include/c++/7/bits/stl_iterator_base_funcs.h:220:5: note:                 template<class _BidirectionalIterator> _BidirectionalIterator std::prev(_BidirectionalIterator, typename std::iterator_traits<_Iter>::difference_type)
     prev(_BidirectionalIterator __x, typename
     ^~~~