ENG  RUSTimus Online Judge
Online Judge
Задачи
Авторы
Соревнования
О системе
Часто задаваемые вопросы
Новости сайта
Форум
Ссылки
Архив задач
Отправить на проверку
Состояние проверки
Руководство
Регистрация
Исправить данные
Рейтинг авторов
Текущее соревнование
Расписание
Прошедшие соревнования
Правила
вернуться в форум

Обсуждение задачи 1090. Теперь ты в армии

Help me please! Why Compilation Error?
Послано Tihon Sergey 16 апр 2007 21:17
#include <iostream>
#include <fstream>
#include <string>
#include <vector>
#include <math.h>

using namespace std;

class Summator {
private:
    vector<bool> l;
    vector<int> b;
    int size;
    int b_size,b_count;
public:
    void init (int _size) {
        size=_size;
        b_size=(int)pow(size,0.5);
        b_count=size/b_size+1;
        l.resize(size);
        b.resize(b_count);
    }
    void reset() {
        for(int i=0;i<size;i++)
            l[i]=false;
        for(int i=0;i<b_count;i++)
            b[i]=0;
    }
    int findsum(int a) {
        int p=a/b_size;
        if (a%b_size!=0)
            p++;
        int res=0;
        for(int i=p+1;i<b_count;i++)
            res+=b[i];
        a-=(--p)*b_size;
        for(int i=a;i<=b_size;i++)
            if ((p*b_size+i<size)&&(l[p*b_size+i]))
                res++;
        return res;
    }
    void add(int pos) {
        l[pos]=true;
        int p=pos/b_size;
        if (pos%b_size!=0)
            p++;
        b[p]++;
    }
};

int main () {
    #ifndef ONLINE_JUDGE
        ifstream cin("input.txt");
    #endif
    int n,k,res,max=0;
    cin>>n>>k;
    Summator s;
    s.init(n+1);
    for(int t=0;t<k;t++){
        int rs=0,p;
        s.reset();
        for(int i=0;i<n;i++) {
            cin>>p;
            rs+=s.findsum(p+1);
            s.add(p);
        }
        if (rs>max) {
            max=rs;
            res=t+1;
        }
    }
    cout<<res<<endl;
    return 0;
}

Edited by author 16.04.2007 21:18
Re: Help me please! Why Compilation Error?
Послано ArcSTU Team 16 апр 2007 21:32
use
b_size=(int)pow((double)size,0.5);
also
ifdef  - not ifndef


Kirill

Edited by author 16.04.2007 21:33