제출 #1174089

#제출 시각아이디문제언어결과실행 시간메모리
1174089hewfhlwejflACM (COCI19_acm)C++20
컴파일 에러
0 ms0 KiB
#include <bits/stdc++.h>
using namespace std;
#define endl '\n'
#define pll pair<long long, long long>
#define ppl pair<pll, long long>
#define ll long long
#define se second
#define fi first
#define pb push_back
ll T,n,nq,a[1001009],m,cmp,ind,k,b[1001009],bn,r,res,y,vis1[4000009],vis[4000009],x,ma[400009],l;
string s[10009][59],t;
struct st
{
    ll sc,h,m,s,ind;
};
st pen[1000009];
bool prime(ll num)
{
    if(num<=1)return 1;
    for(ll i=2;i*i<=num;i++)
        if(num%i==0)return 0;
    return 1;
}
ll f(string s1)
{
    ll ret=0;
    l=1;
    while(s1[l]!='/')
    {
        ret+=s1[l]-'0';
        ret*=10;
        l++;
    }
    return ret/10;
}

int main()
{
    ios_base::sync_with_stdio(0);cin.tie(0);cout.tie(0);
    ll fl=0;
	cin>>n>>m;
	for(int i=1;i<=n;i++)
    {
        cin>>s[i][0];
        t=s[i][0];
        if(t=="NijeZivotJedanACM")ind=i;
        pen[i].ind=i;
        for(int j=1;j<=m;j++)
        {
            cin>>s[i][j];
            if(s[i][j]=="-" || t=="NijeZivotJedanACM")continue;
            else
            {
                pen[i].sc++;
                pen[i].m+=f(s[i][j])*20;l++;
                pen[i].h+=(s[i][j][l]-'0')*10+s[i][j][l+1]-'0';
                pen[i].m+=(s[i][j][l+3]-'0')*10+s[i][j][l+4]-'0';
                pen[i].s+=(s[i][j][l+6]-'0')*10+s[i][j][l+7]-'0';
                if(pen[i].s>=60)pen[i].m+=pen[i].s/60,pen[i].s%=60;
                if(pen[i].m>=60)pen[i].h+=pen[i].m/60,pen[i].m%=60;
            }
        }
    }
    cin>>t;
    for(int j=1;j<=m;j++)
    {
        cin>>s[ind][j];
        ll i=ind;
        if(s[i][j]=="-")continue;
        else
        {
            pen[i].sc++;
            pen[i].m+=f(s[i][j]-1)*20;l++;
            pen[i].h+=(s[i][j][l]-'0')*10+s[i][j][l+1]-'0';
            pen[i].m+=(s[i][j][l+3]-'0')*10+s[i][j][l+4]-'0';
            pen[i].s+=(s[i][j][l+6]-'0')*10+s[i][j][l+7]-'0';
            if(pen[i].s>=60)pen[i].m+=pen[i].s/60,pen[i].s%=60;
            if(pen[i].m>=60)pen[i].h+=pen[i].m/60,pen[i].m%=60;
        }
    }
    sort(pen+1,pen+1+n,[](st x,st y){
         if(x.sc!=y.sc)return x.sc>y.sc;
         else if(x.h!=y.h)return x.h<y.h;
         else if(x.m!=y.m)return x.m<y.m;
         else if(x.s!=y.s)return x.s<y.s;
         else return s[x.ind][0]<s[y.ind][0];
            });
    for(int i=1;i<=n;i++)
        if(pen[i].ind==ind)
        {
            cout<<i;
            break;
        }
    //for(int i=1;i<=n;i++)cout<<a[i]<<endl;
    return 0;
}

컴파일 시 표준 에러 (stderr) 메시지

acm.cpp: In function 'int main()':
acm.cpp:73:32: error: no match for 'operator-' (operand types are 'std::string' {aka 'std::__cxx11::basic_string<char>'} and 'int')
   73 |             pen[i].m+=f(s[i][j]-1)*20;l++;
      |                         ~~~~~~~^~
      |                               | |
      |                               | int
      |                               std::string {aka std::__cxx11::basic_string<char>}
In file included from /usr/include/c++/11/bits/stl_algobase.h:67,
                 from /usr/include/c++/11/bits/specfun.h:45,
                 from /usr/include/c++/11/cmath:1935,
                 from /usr/include/x86_64-linux-gnu/c++/11/bits/stdc++.h:41,
                 from acm.cpp:1:
/usr/include/c++/11/bits/stl_iterator.h:577:5: note: candidate: 'template<class _IteratorL, class _IteratorR> constexpr decltype ((__y.base() - __x.base())) std::operator-(const std::reverse_iterator<_IteratorL>&, const std::reverse_iterator<_IteratorR>&)'
  577 |     operator-(const reverse_iterator<_IteratorL>& __x,
      |     ^~~~~~~~
/usr/include/c++/11/bits/stl_iterator.h:577:5: note:   template argument deduction/substitution failed:
acm.cpp:73:33: note:   'std::string' {aka 'std::__cxx11::basic_string<char>'} is not derived from 'const std::reverse_iterator<_IteratorL>'
   73 |             pen[i].m+=f(s[i][j]-1)*20;l++;
      |                                 ^
In file included from /usr/include/c++/11/bits/stl_algobase.h:67,
                 from /usr/include/c++/11/bits/specfun.h:45,
                 from /usr/include/c++/11/cmath:1935,
                 from /usr/include/x86_64-linux-gnu/c++/11/bits/stdc++.h:41,
                 from acm.cpp:1:
/usr/include/c++/11/bits/stl_iterator.h:1693:5: note: candidate: 'template<class _IteratorL, class _IteratorR> constexpr decltype ((__x.base() - __y.base())) std::operator-(const std::move_iterator<_IteratorL>&, const std::move_iterator<_IteratorR>&)'
 1693 |     operator-(const move_iterator<_IteratorL>& __x,
      |     ^~~~~~~~
/usr/include/c++/11/bits/stl_iterator.h:1693:5: note:   template argument deduction/substitution failed:
acm.cpp:73:33: note:   'std::string' {aka 'std::__cxx11::basic_string<char>'} is not derived from 'const std::move_iterator<_IteratorL>'
   73 |             pen[i].m+=f(s[i][j]-1)*20;l++;
      |                                 ^
In file included from /usr/include/c++/11/ccomplex:39,
                 from /usr/include/x86_64-linux-gnu/c++/11/bits/stdc++.h:54,
                 from acm.cpp:1:
/usr/include/c++/11/complex:362:5: note: candidate: 'template<class _Tp> constexpr std::complex<_Tp> std::operator-(const std::complex<_Tp>&, const std::complex<_Tp>&)'
  362 |     operator-(const complex<_Tp>& __x, const complex<_Tp>& __y)
      |     ^~~~~~~~
/usr/include/c++/11/complex:362:5: note:   template argument deduction/substitution failed:
acm.cpp:73:33: note:   'std::string' {aka 'std::__cxx11::basic_string<char>'} is not derived from 'const std::complex<_Tp>'
   73 |             pen[i].m+=f(s[i][j]-1)*20;l++;
      |                                 ^
In file included from /usr/include/c++/11/ccomplex:39,
                 from /usr/include/x86_64-linux-gnu/c++/11/bits/stdc++.h:54,
                 from acm.cpp:1:
/usr/include/c++/11/complex:371:5: note: candidate: 'template<class _Tp> constexpr std::complex<_Tp> std::operator-(const std::complex<_Tp>&, const _Tp&)'
  371 |     operator-(const complex<_Tp>& __x, const _Tp& __y)
      |     ^~~~~~~~
/usr/include/c++/11/complex:371:5: note:   template argument deduction/substitution failed:
acm.cpp:73:33: note:   'std::string' {aka 'std::__cxx11::basic_string<char>'} is not derived from 'const std::complex<_Tp>'
   73 |             pen[i].m+=f(s[i][j]-1)*20;l++;
      |                                 ^
In file included from /usr/include/c++/11/ccomplex:39,
                 from /usr/include/x86_64-linux-gnu/c++/11/bits/stdc++.h:54,
                 from acm.cpp:1:
/usr/include/c++/11/complex:380:5: note: candidate: 'template<class _Tp> constexpr std::complex<_Tp> std::operator-(const _Tp&, const std::complex<_Tp>&)'
  380 |     operator-(const _Tp& __x, const complex<_Tp>& __y)
      |     ^~~~~~~~
/usr/include/c++/11/complex:380:5: note:   template argument deduction/substitution failed:
acm.cpp:73:33: note:   mismatched types 'const std::complex<_Tp>' and 'int'
   73 |             pen[i].m+=f(s[i][j]-1)*20;l++;
      |                                 ^
In file included from /usr/include/c++/11/ccomplex:39,
                 from /usr/include/x86_64-linux-gnu/c++/11/bits/stdc++.h:54,
                 from acm.cpp:1:
/usr/include/c++/11/complex:457:5: note: candidate: 'template<class _Tp> constexpr std::complex<_Tp> std::operator-(const std::complex<_Tp>&)'
  457 |     operator-(const complex<_Tp>& __x)
      |     ^~~~~~~~
/usr/include/c++/11/complex:457:5: note:   template argument deduction/substitution failed:
acm.cpp:73:33: note:   'std::string' {aka 'std::__cxx11::basic_string<char>'} is not derived from 'const std::complex<_Tp>'
   73 |             pen[i].m+=f(s[i][j]-1)*20;l++;
      |                                 ^
In file included from /usr/include/c++/11/valarray:603,
                 from /usr/include/x86_64-linux-gnu/c++/11/bits/stdc++.h:95,
                 from acm.cpp:1:
/usr/include/c++/11/bits/valarray_after.h:406:5: note: candidate: 'template<class _Dom1, class _Dom2> std::_Expr<std::__detail::_BinClos<std::__minus, std::_Expr, std::_Expr, _Dom1, _Dom2>, typename std::__fun<std::__minus, typename _Dom1::value_type>::result_type> std::operator-(const std::_Expr<_Dom1, typename _Dom1::value_type>&, const std::_Expr<_Dom2, typename _Dom2::value_type>&)'
  406 |     _DEFINE_EXPR_BINARY_OPERATOR(-, struct std::__minus)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/c++/11/bits/valarray_after.h:406:5: note:   template argument deduction/substitution failed:
acm.cpp:73:33: note:   'std::string' {aka 'std::__cxx11::basic_string<char>'} is not derived from 'const std::_Expr<_Dom1, typename _Dom1::value_type>'
   73 |             pen[i].m+=f(s[i][j]-1)*20;l++;
      |                                 ^
In file included from /usr/include/c++/11/valarray:603,
                 from /usr/include/x86_64-linux-gnu/c++/11/bits/stdc++.h:95,
                 from acm.cpp:1:
/usr/include/c++/11/bits/valarray_after.h:406:5: note: candidate: 'template<class _Dom> std::_Expr<std::__detail::_BinClos<std::__minus, std::_Expr, std::_Constant, _Dom, typename _Dom::value_type>, typename std::__fun<std::__minus, typename _Dom1::value_type>::result_type> std::operator-(const std::_Expr<_Dom1, typename _Dom1::value_type>&, const typename _Dom::value_type&)'
  406 |     _DEFINE_EXPR_BINARY_OPERATOR(-, struct std::__minus)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/c++/11/bits/valarray_after.h:406:5: note:   template argument deduction/substitution failed:
acm.cpp:73:33: note:   'std::string' {aka 'std::__cxx11::basic_string<char>'} is not derived from 'const std::_Expr<_Dom1, typename _Dom1::value_type>'
   73 |             pen[i].m+=f(s[i][j]-1)*20;l++;
      |                                 ^
In file included from /usr/include/c++/11/valarray:603,
                 from /usr/include/x86_64-linux-gnu/c++/11/bits/stdc++.h:95,
                 from acm.cpp:1:
/usr/include/c++/11/bits/valarray_after.h:406:5: note: candidate: 'template<class _Dom> std::_Expr<std::__detail::_BinClos<std::__minus, std::_Constant, std::_Expr, typename _Dom::value_type, _Dom>, typename std::__fun<std::__minus, typename _Dom1::value_type>::result_type> std::operator-(const typename _Dom::value_type&, const std::_Expr<_Dom1, typename _Dom1::value_type>&)'
  406 |     _DEFINE_EXPR_BINARY_OPERATOR(-, struct std::__minus)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/c++/11/bits/valarray_after.h:406:5: note:   template argument deduction/substitution failed:
acm.cpp:73:33: note:   mismatched types 'const std::_Expr<_Dom1, typename _Dom1::value_type>' and 'int'
   73 |             pen[i].m+=f(s[i][j]-1)*20;l++;
      |                                 ^
In file included from /usr/include/c++/11/valarray:603,
                 from /usr/include/x86_64-linux-gnu/c++/11/bits/stdc++.h:95,
                 from acm.cpp:1:
/usr/include/c++/11/bits/valarray_after.h:406:5: note: candidate: 'template<class _Dom> std::_Expr<std::__detail::_BinClos<std::__minus, std::_Expr, std::_ValArray, _Dom, typename _Dom::value_type>, typename std::__fun<std::__minus, typename _Dom1::value_type>::result_type> std::operator-(const std::_Expr<_Dom1, typename _Dom1::value_type>&, const std::valarray<typename _Dom::value_type>&)'
  406 |     _DEFINE_EXPR_BINARY_OPERATOR(-, struct std::__minus)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/c++/11/bits/valarray_after.h:406:5: note:   template argument deduction/substitution failed:
acm.cpp:73:33: note:   'std::string' {aka 'std::__cxx11::basic_string<char>'} is not derived from 'const std::_Expr<_Dom1, typename _Dom1::value_type>'
   73 |             pen[i].m+=f(s[i][j]-1)*20;l++;
      |                                 ^
In file included from /usr/include/c++/11/valarray:603,
                 from /usr/include/x86_64-linux-gnu/c++/11/bits/stdc++.h:95,
                 from acm.cpp:1:
/usr/include/c++/11/bits/valarray_after.h:406:5: note: candidate: 'template<class _Dom> std::_Expr<std::__detail::_BinClos<std::__minus, std::_ValArray, std::_Expr, typename _Dom::value_type, _Dom>, typename std::__fun<std::__minus, typename _Dom1::value_type>::result_type> std::operator-(const std::valarray<typename _Dom::value_type>&, const std::_Expr<_Dom1, typename _Dom1::value_type>&)'
  406 |     _DEFINE_EXPR_BINARY_OPERATOR(-, struct std::__minus)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/c++/11/bits/valarray_after.h:406:5: note:   template argument deduction/substitution failed:
acm.cpp:73:33: note:   mismatched types 'const std::_Expr<_Dom1, typename _Dom1::value_type>' and 'int'
   73 |             pen[i].m+=f(s[i][j]-1)*20;l++;
      |                                 ^
In file included from /usr/include/x86_64-linux-gnu/c++/11/bits/stdc++.h:95,
                 from acm.cpp:1:
/usr/include/c++/11/valarray:1187:1: note: candidate: 'template<class _Tp> std::_Expr<std::__detail::_BinClos<std::__minus, std::_ValArray, std::_ValArray, _Tp, _Tp>, typename std::__fun<std::__minus, _Tp>::result_type> std::operator-(const std::valarray<_Tp>&, const std::valarray<_Tp>&)'
 1187 | _DEFINE_BINARY_OPERATOR(-, __minus)
      | ^~~~~~~~~~~~~~~~~~~~~~~
/usr/include/c++/11/valarray:1187:1: note:   template argument deduction/substitution failed:
acm.cpp:73:33: note:   'std::string' {aka 'std::__cxx11::basic_string<char>'} is not derived from 'const std::valarray<_Tp>'
   73 |             pen[i].m+=f(s[i][j]-1)*20;l++;
      |                                 ^
In file included from /usr/include/x86_64-linux-gnu/c++/11/bits/stdc++.h:95,
                 from acm.cpp:1:
/usr/include/c++/11/valarray:1187:1: note: candidate: 'template<class _Tp> std::_Expr<std::__detail::_BinClos<std::__minus, std::_ValArray, std::_Constant, _Tp, _Tp>, typename std::__fun<std::__minus, _Tp>::result_type> std::operator-(const std::valarray<_Tp>&, const typename std::valarray<_Tp>::value_type&)'
 1187 | _DEFINE_BINARY_OPERATOR(-, __minus)
      | ^~~~~~~~~~~~~~~~~~~~~~~
/usr/include/c++/11/valarray:1187:1: note:   template argument deduction/substitution failed:
acm.cpp:73:33: note:   'std::string' {aka 'std::__cxx11::basic_string<char>'} is not derived from 'const std::valarray<_Tp>'
   73 |             pen[i].m+=f(s[i][j]-1)*20;l++;
      |                                 ^
In file included from /usr/include/x86_64-linux-gnu/c++/11/bits/stdc++.h:95,
                 from acm.cpp:1:
/usr/include/c++/11/valarray:1187:1: note: candidate: 'template<class _Tp> std::_Expr<std::__detail::_BinClos<std::__minus, std::_Constant, std::_ValArray, _Tp, _Tp>, typename std::__fun<std::__minus, _Tp>::result_type> std::operator-(const typename std::valarray<_Tp>::value_type&, const std::valarray<_Tp>&)'
 1187 | _DEFINE_BINARY_OPERATOR(-, __minus)
      | ^~~~~~~~~~~~~~~~~~~~~~~
/usr/include/c++/11/valarray:1187:1: note:   template argument deduction/substitution failed:
acm.cpp:73:33: note:   mismatched types 'const std::valarray<_Tp>' and 'int'
   73 |             pen[i].m+=f(s[i][j]-1)*20;l++;
      |                                 ^
In file included from /usr/include/c++/11/bits/stl_algobase.h:67,
                 from /usr/include/c++/11/bits/specfun.h:45,
                 from /usr/include/c++/11/cmath:1935,
                 from /usr/include/x86_64-linux-gnu/c++/11/bits/stdc++.h:41,
                 from acm.cpp:1:
/usr/include/c++/11/bits/stl_iterator.h:1255:5: note: candidate: 'template<class _IteratorL, class _IteratorR, class _Container> constexpr decltype ((__lhs.base() - __rhs.base())) __gnu_cxx::operator-(const __gnu_cxx::__normal_iterator<_IteratorL, _Container>&, const __gnu_cxx::__normal_iterator<_IteratorR, _Container>&)'
 1255 |     operator-(const __normal_iterator<_IteratorL, _Container>& __lhs,
      |     ^~~~~~~~
/usr/include/c++/11/bits/stl_iterator.h:1255:5: note:   template argument deduction/substitution failed:
acm.cpp:73:33: note:   'std::string' {aka 'std::__cxx11::basic_string<char>'} is not derived from 'const __gnu_cxx::__normal_iterator<_IteratorL, _Container>'
   73 |             pen[i].m+=f(s[i][j]-1)*20;l++;
      |                                 ^
In file included from /usr/include/c++/11/bits/stl_algobase.h:67,
                 from /usr/include/c++/11/bits/specfun.h:45,
                 from /usr/include/c++/11/cmath:1935,
                 from /usr/include/x86_64-linux-gnu/c++/11/bits/stdc++.h:41,
                 from acm.cpp:1:
/usr/include/c++/11/bits/stl_iterator.h:1268:5: note: candidate: 'template<class _Iterator, class _Container> constexpr typename __gnu_cxx::__normal_iterator<_Iterator, _Container>::difference_type __gnu_cxx::operator-(const __gnu_cxx::__normal_iterator<_Iterator, _Container>&, const __gnu_cxx::__normal_iterator<_Iterator, _Container>&)'
 1268 |     operator-(const __normal_iterator<_Iterator, _Container>& __lhs,
      |     ^~~~~~~~
/usr/include/c++/11/bits/stl_iterator.h:1268:5: note:   template argument deduction/substitution failed:
acm.cpp:73:33: note:   'std::string' {aka 'std::__cxx11::basic_string<char>'} is not derived from 'const __gnu_cxx::__normal_iterator<_Iterator, _Container>'
   73 |             pen[i].m+=f(s[i][j]-1)*20;l++;
      |                                 ^